JP2002533806A - システム独立なソフトウェア成分の作成及び使用方法 - Google Patents

システム独立なソフトウェア成分の作成及び使用方法

Info

Publication number
JP2002533806A
JP2002533806A JP2000590048A JP2000590048A JP2002533806A JP 2002533806 A JP2002533806 A JP 2002533806A JP 2000590048 A JP2000590048 A JP 2000590048A JP 2000590048 A JP2000590048 A JP 2000590048A JP 2002533806 A JP2002533806 A JP 2002533806A
Authority
JP
Japan
Prior art keywords
core
objects
control
sub
segment
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
JP2000590048A
Other languages
English (en)
Inventor
バルカタキ,シャン
ダウセット,パトリシア・ジェイ
フレデリック,デール・エフ
ハルテ,スチュアート・エイチ
ジョンソン,ゲーリー・アール
Original Assignee
リットン・システムズ・インコーポレーテッド
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 リットン・システムズ・インコーポレーテッド filed Critical リットン・システムズ・インコーポレーテッド
Publication of JP2002533806A publication Critical patent/JP2002533806A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 ソフトウェア・アプリケーション(100)を解析して「コア機能」(102)を識別する。アプリケーションに特有の制御行動を有していないオブジェクト指向のコア・オブジェクト(104)が作成され、これらの本質的な機能が実行される。イベント・トレースが識別される。制御行動は「制御オブジェクト」(108)において実現されており、この「制御オブジェクト」は、特定のイベント・トレースを実行するのに必要な様々なコア・オブジェクトの動作を呼び出す。コア機能と制御行動とが分離されているため、コア・オブジェクトは、アプリケーションとは独立であり、関連する制御オブジェクトをアプリケーションに特有の異なるイベント・トレースに修正することによって、それ以上の修正をすることなく、他のアプリケーションにおいて再利用が可能である。制御オブジェクトは、特定の機能を実行する1群のコア・オブジェクトの間でのプログラム・フローを制御する高レベルの「セグメント・コントローラ」(120)であるか、又は、1群の低レベルのオブジェクトに対して同じ機能を実行する「コア・オブジェクト・コントローラ」(126)でありうる。コア・オブジェクトの再利用可能性は、「ビュー・マネージャ」(150)を用いることによって、更に強化される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、コンピュータ・ソフトウェアの分野に関し、更に詳しくは、最小限
の修正によって異なる複数のシステムにおいて用いることができるソフトウェア
成分を作成する方法に関する。
【0002】
【従来の技術】
ソフトウェア・コードを作成しデバッグするというのは、従来、非常に労働集
約的で費用のかかるプロセスであったし、これからもその性質に変化はないであ
ろう。その結果、「再利用可能な」コード、すなわち、最小限の修正を施せば複
数のシステムにおいて設計通りに機能させることが可能であり、与えられたシス
テムのために新たに作成しなければならないコードの量を最小化することができ
るようなコードを作成するために、多くの最前線において努力がなされてきた。
ここでは、「システム」とは、特定の応用例のために設計されたソフトウェアを
指している。
【0003】 「オブジェクト指向プログラミング」(OOP)は、ソフトウェア・コードの
再利用を容易にする技術の1つである。OOPは非常にモジュール的(モジュラ
、定型的)なアプリケーション・プログラムを生じさせ、結果的に得られるコー
ドのモジュールは、他のアプリケーションにプラグインできることが仮定されて
いる。この仮定は、抽象的なデータ構造など、より低いレベルのオブジェクトに
関しては一般的に正しいことがわかっている。しかし、OOP技術は、より高レ
ベルのオブジェクトに関しては、必ずしも再利用性がよいとはいえない。例えば
、航空機の速度及び高度を維持する「航空機トラック」のオブジェクトは、再利
用が困難である。この理由は、オブジェクトが受け取るデータの結果としてなさ
れる作用(アクション)が、それが用いられる特定のシステムに依存するからで
ある。このオブジェクトは、例えば、民間の航空管制システムや軍事用の指令及
び管制システムにおいて見ることができるが、これらの場合では、同じ入力デー
タに対して要求される反応が異なる。このような応答的な作用は、システムに特
定的であって典型的にはオブジェクトに埋め込まれており、従って、別のシステ
ムでの使用には適さない。
【0004】 架空の航空防衛システムを用いてこの問題点を図解したものが図1に示されて
いる。これは、そのようなシステムのための「イベント・トレース図」である。
このシステムは、OOP技術を用いて実現されており、オブジェクトは、図の上
部に横断的に示されている「レーダ」、「エア・トラック」、「飛行物体」など
の新たなレーダ・レポートの処理に関係している。「イベント」とはプログラム
の制御をあるオブジェクトから別のオブジェクトに移動させるものであるが、そ
れらは、オブジェクトの下に示されている。
【0005】 典型的なシステム・イベント・トレースは、「レーダ」オブジェクト10が新
たなレポートを受け取ることによって開始する。「レーダ」オブジェクト10は
、それを「エア・トラック」オブジェクト12に送る。すなわち、新たなレポー
トを受け取る「レーダ」の「イベント」14は、プログラム制御を「エア・トラ
ック」に転送させる刺激である。「エア・トラック」12は、制御を「飛行物体
」オブジェクト16に送り、「飛行物体」オブジェクト16はこのトラックを潜
在的に敵対的な航空機であると認識し、制御を「敵航空機」オブジェクト18に
転送する。「敵航空機」は、この脅威を評価し、結果的に、制御を「脅威」オブ
ジェクト20に転送する。「脅威」はレポートを作成し、このレポートとプログ
ラム制御とは、「戦闘マネージャ(管理者)」オブジェクト22に送られる。「
戦闘マネージャ」は、他のオブジェクトと相互作用し、制御は、最終的には、「
インターセプタ」オブジェクト24に転送される。「戦闘マネージャ」オブジェ
クトは、また、状態を「より高い段階」オブジェクト26に報告する。
【0006】 従来型のOOP技術を用いると、図1aのイベント・トレースを実行するのに
必要な制御シーケンスは、オブジェクトの中に直接にビルトインされる。すなわ
ち、「レーダ」は「エア・トラック」をコールし、「エア・トラック」は「飛行
物体」をコールする等である。しかし、そうすることによって、これらのオブジ
ェクトの再利用可能性が損なわれる。というのは、異なるシステムでは、新たな
レーダ・レポートを処理するイベント・トレースが全く異なる可能性があるから
である。これは、図1bに図解されている。この異なる航空防衛システムでは、
図1aのシステムの場合と類似の機能を有するオブジェクトを必要とするが、イ
ベント・トレースが異なっている。この場合には、「エア・トラック」オブジェ
クト32は、トラック・レポートを直接に「より高い段階」(Higher Echelon)
オブジェクト34に送り、「戦闘マネージャ」オブジェクト36は「より高い段
階」オブジェクトによって呼び出される。元の「エア・トラック」又は「戦闘マ
ネージャ」オブジェクト(12、22)を新たなシステムにおいて再利用するに
は、これらのオブジェクトの内部で符号化された制御シーケンスを、新たなイベ
ント・トレースを実現する新たなものに交換しなければならない。従って、これ
らのオブジェクトは、修正を行った後でのみ、「再利用可能」である。そして、
修正プロセスは、オブジェクトが新たなシステムにおいて再利用されるたびに反
復される。
【0007】 プログラムの制御タスクをシステムの機能から分離しようとする努力はこれま
でもなされている。例えば、Hatley and Pirbhai, Strategies for Real-Time S ystem Specification , Dorset House Publishing (1988), pp. 59-72や、Ward a
nd Mellor, Structured Development for Real-Time Systems, Yourdon Press (
1985), pp. 41-70では、プログラム制御を処理する「コントローラ」の概念が論
じられている。しかし、これらは、いずれも、構造化された(structured)解析
及び構造化された設計を用いる機能的アプローチを用いて設計されるシステムに
関するものであり、その結果として、システムが提供しなければならない特定の
機能によって組織化されるシステム・アーキテクチャが得られている。不運なこ
とに、これらのアプローチを用いて作成されるソフトウェア成分は、それらが元
々の設計の際に想定されていた特定のアプリケーション・システムと密接に関連
しており、他のシステムにおいて再利用することは困難である。
【0008】
【発明の概要】
システム独立なソフトウェア成分を作成して使用する方法が与えられ、その結
果として、若干の修正又は全く修正なしで様々なシステムにおいて再利用可能な
コードが得られる。
【0009】 この新規なプロセスは、OOPベースのシステムを開発するのに用いられる。
高レベルの再利用可能性が、結果的に「コア」オブジェクト、「ビュー・マネー
ジャ」オブジェクト及び「コントローラ」オブジェクトという3つのタイプのソ
フトウェア成分を生じる設計方式を用いることにより達成される。コア・オブジ
ェクトは、アプリケーションによって要求される本質的な行動(振る舞い、beha
vior)すなわちそのコア機能を実現する。コントローラ・オブジェクトは、下位
にあるシステムの制御行動を制御する。コア機能を制御行動と分離することによ
って、結果的に得られるシステム独立なコア・オブジェクトを異なる複数のシス
テムにおいて再利用することが可能になる。
【0010】 ビュー・マネージャ・オブジェクトは、サーバ・オブジェクトとクライアント
・オブジェクトとの間に持続的な通信リンクを作成することなく、「サーバ」側
のコア・オブジェクトが複数の「クライアント」側のコア・オブジェクトと通信
することを可能にする。更に、ビュー・マネージャ・オブジェクトによると、サ
ーバ・オブジェクトにおいて状態変化が存在するときには常に、サーバ・オブジ
ェクトが、そのクライアント・オブジェクトすべてに自動的に告知することが可
能になる。ビュー・マネージャ・オブジェクトを用いることで、コア・オブジェ
クトの再利用可能性が更に強化される。
【0011】 いったん分離されると、システムの制御行動は、1つ又は複数の「制御オブジ
ェクト」において具体化され、この制御オブジェクトが、特定のイベント・トレ
ースを実行する必要に応じて様々なコア・オブジェクトの動作を呼び出す。制御
オブジェクトがプログラムのフローを処理するので、コア・オブジェクトは、ほ
とんど又は全く修正なしで、単に関連する制御オブジェクトをシステム独立なイ
ベント・トレースを提供するように直すだけで、他の複数のアプリケーションに
おいて再利用することが可能である。
【0012】 本発明による新規な概念は、スケール・アップ又はスケール・ダウンが可能で
ある。従って、制御オブジェクトは、「セグメント」として識別される1群のコ
ア・オブジェクトの間でのプログラム・フローを制御し高レベルのシステム機能
を実行する「セグメント・コントローラ」、又は、組合せとしてコア・オブジェ
クトを構成する1群の低レベルのオブジェクトに対して同じ目的を達成する「コ
ア・オブジェクト・コントローラ」でありうる。
【0013】 本発明のこれ以外の特徴及び効果は、当業者にとっては、以下の詳細な説明を
添付の図面と共に読むことにより、明らかになるはずである。
【0014】
【発明の実施の形態】
システム独立なソフトウェア成分作成して再利用する新規な方法を図解する流
れ図が図2に示されている。このプロセスは、典型的には、特定のシステム10
0において開始する。このシステムは、例えば、ソフトウェア・プログラムを用
いて実現される航空管制システムである。
【0015】 ステップ102では、アプリケーションが解析され、その「コア機能」すなわ
ちそのシステムによって要求される本質的な行動(essential behavior)が決定
される。航空管制システムの場合には、コア機能には、例えば、航空機を識別し
てトラッキングすること、レーダ情報を表示すること、可能性のある衝突を検出
することなどが含まれる。
【0016】 次に、コア機能を実現する「コア・オブジェクト」が作成される(ステップ1
04)。コア・オブジェクトは、1つのオブジェクトである場合があるし、複数
の「サブ・コア」オブジェクトに分解される場合もある。これらのコア及びサブ
・コアオブジェクトは、それらの中にシステムに特有の制御行動が埋め込まれて
いることはない。従来型のOOPの原理によると、それぞれのコア・オブジェク
トは、現実世界の実体(航空機など)を表し、この実体は、関連する状態(すな
わち、航空機のタイプ、燃料容量などこの実体を記述するデータ)と、IDと、
行動(例えば、離陸、飛行、着陸など)とを有している。
【0017】 システムが動作される際にコア・オブジェクトが参加するシステム・イベント
・トレースが次に定義される(ステップ106)。そして、これらのシステムに
特有のイベントに関係する制御フローが、「制御オブジェクト」の中に配置され
(ステップ108)、この制御オブジェクトは、その中に埋め込まれたイベント
・トレースからの命令に従って、コア・オブジェクトの動作を呼び出す。
【0018】 本発明による方法は、図2に示されているステップの通りの順序には限定され
ないことに注意すべきである。例えば、システムのイベント・トレースを最初に
定義し(ステップ106)、コア機能を識別するように開発されている情報を用
いる(ステップ102)ことも効果的である。同様に、そのコア・オブジェクト
を詳細に開発する(ステップ104)前に、システムの制御オブジェクトを作成
する(ステップ108)ことも可能である。
【0019】 コア、ビュー・マネージャ(以下で詳述する)及び制御オブジェクトのための
コードは、OOP技術を用いて書かれる。従って、結果として得られるシステム
は、オブジェクト指向の方法が有する利点を享受することになる。これは、例え
ば、高い信頼性や、高いメンテナンス性(maintainability)などである。更に
、OOPは、相互に協働してシステムの能力を提供する1群の同時動作的な成分
として組織されたシステム・アーキテクチャを与えてくれるのであるから、OO
Pベースのシステムは、その内在的な性質として、古典的な機能アプローチを用
いて開発された同等のシステムの場合よりも再利用可能性が高いコードを提供す
る。OOPベースのシステムにおいて見られるこの内在的な再利用可能性は、後
述するように、本発明による制御オブジェクトの使用によって、更に強化される
【0020】 再利用可能なオブジェクトは、C++やAda95など、任意のオブジェクト
指向プログラミング言語を用いて書くことができる。コア・オブジェクトは、好
ましくは、例えば、Rumbaugh et al., Object-Oriented Modeling and Design,
Prentice-Hall (1911), pp. 260-264に説明されているOMT方法などのオブジ
ェクト・モデリング法や、UML Summary Version 1.0.1, Rational Corporation
(1997)に説明されている統一モデリング言語(UML)を用いて、設計及び作成
される。
【0021】 システムのイベント・トレースは、使用ケース(use case)の解析から開始し
てシステム・イベント応答リストを開発するという、従来型の手段を用いて定義
される。システムのイベント・トレースは、いかにして様々なセグメントが相互
に作用しシステム・レベルでの使用ケースに記述されている機能を達成するのか
に関する解析を実行することによって確立される。使用ケースの作成に関しては
、例えば、I. Jacobson et al., Object-Oriented Software Engineering, Addi
son-Wesley (1992), pp. 113-143で論じられている。イベント・トレースの作成
に関しては、例えば、J. Rumbaugh et al., Object-Oriented Modeling and Des ign , Prentice-Hall (1991), pp. 86-87に説明されている。
【0022】 ここで説明されている方法の結果として得られるシステムのコア及び制御オブ
ジェクトの例は、図3に示されている。コア・オブジェクトであるコアA、コア
B、コアC及びコアDアセンブリは、ステップ104で作成され、それぞれが、
特定のシステムのコア機能を実現している。上述したように、コア・オブジェク
トはそれぞれが、1つのオブジェクトであるか、又は、複数のオブジェクトのア
センブリであり、後者の場合には、アセンブリは、「親」(parent)であるコア
・オブジェクトと1つ又は複数のサブ・コア・オブジェクトとで構成されている
。コアDアセンブリは、そのようなアセンブリであって、オブジェクトであるコ
アDが、サブ・コア・オブジェクトであるサブ・コア1及びサブ・コア2の親で
ある。
【0023】 この例では、コア・オブジェクトであるコアA、コアB、コアC及びコアDア
センブリが、「セグメント」を形成する。これは、特定の高レベル機能を実行す
る1群のコア・オブジェクトである。例えば、図1aにおけるオブジェクトであ
る「レーダ」及び「エア・トラック」は、1つのセグメントとしてグループ化し
、航空管制システムにおける高レベルのトラッキング機能を取り扱うことができ
る。このセグメントに対するシステムのイベント・トレースに関係する制御フロ
ーが、コア・オブジェクトであるコアA、コアB、コアC及びコアDアセンブリ
に対してステップ106で定義され、制御オブジェクト120の中に配置される
。コア・オブジェクトがセグメントを構成するため、制御オブジェクト120は
「セグメント・コントローラ」として識別される。セグメントによって実行され
る機能が実行される必要があるときには、典型的には、別のセグメントからのサ
ービス・リクエスト121を介して、セグメント・コントローラ120が呼び出
される。
【0024】 図3における矢印122は、セグメント・コントローラ120による管理に従
って、コア・オブジェクトであるコアA、コアB、コアC及びコアDアセンブリ
に対する制御フローを反映している。セグメント・コントローラ120は、デー
タでなく制御だけを与えるのであり、コア・オブジェクトからコントローラ12
0にデータが戻ることはない。セグメント・コントローラ120は、コア・オブ
ジェクトが単純な状態メッセージによってその処理を完了したということを告知
され、その次に、コントローラ120が実行されているイベント・トレースに従
って次のコア・オブジェクトをシーケンシャルに呼び出す。
【0025】 セグメント・コントローラ120は、セグメントのオブジェクトが参加するす
べてのイベントに関する情報を実現し、それに従ってそのコア・オブジェクトを
呼び出すので、制御フロー情報が個別的なコア・オブジェクトに埋め込まれるこ
とは必要ない。システムに特有の制御行動をこのようにしてコア・オブジェクト
から取り除くことによって、オブジェクトは、異なるイベント・トレースを有す
る他のシステムにおいても容易に再利用可能となる。コア・オブジェクトのコア
機能は、他のシステムにおいて要求されるときには、厳密に当初に作成された状
態のままで、又は、若干の修正を施して用いることができるのが好ましい。この
場合、新たなシステムに対する制御フローは、新たな又は修正されたセグメント
・コントローラに埋め込まれている。イベント・トレースを単純に実行するので
あるから、セグメント・コントローラの設計は単純である。従って、セグメント
・コントローラ120を新たなアプリケーションのために修正するのに必要な労
力は、小さいと予測される。
【0026】 コア・オブジェクトは、それ自身のセグメントの中の別のオブジェクトからの
データを必要とする場合には、当該オブジェクトとの直接的な相互作用(点線1
24によって示されている)を介してそれを取得する。すなわち、データは、セ
グメント・コントローラ120を通過することはない。例えば、コアBは、コア
Cからのデータを必要とする場合には、直接にコアCと相互作用して、必要とす
るデータを取得する。このような直接的な相互作用は、特定の相互作用がオブジ
ェクトの基本的な行動の一部であるときに、用いられる。例えば、この場合には
、コアBは、その基本的な責任の1つを充足するためにコアCからデータを必要
としているのであるから、相互作用を直接的に開始する。
【0027】 上述したように、いくつかのコア・オブジェクトは、複数の「サブ・コア」オ
ブジェクトに分解することができる。この様子は、図3において、コアDアセン
ブリというラベルが付けられているブロックにおいて図解されており、2つのサ
ブ・コア・オブジェクトであるサブ・コア1及びサブ・コア2が含まれている。
OOPの用語では、コアDは、「子」のオブジェクトであるサブ・コア1及びサ
ブ・コア2の「親」オブジェクトと称される。ここで説明している本発明による
方法は、全体のセグメントに適用されたのと同じように、コアDアセンブリにも
適用することができる。すなわち、サブ・コア1とサブ・コア2とは、コアDの
特定のコア機能を実現するように設計されている。サブ・コア1、サブ・コア2
又はコアDの呼び出しに関係する制御フローは、ここでは「コア・オブジェクト
・コントローラ」として識別されているコントローラ126の中に配置される。
コアDアセンブリの中の動作を呼び出すためのすべてのリクエストは、最初に、
コントローラ126によって受け取られ、コントローラ126はアセンブリの中
の適切なオブジェクトすなわちコアD、サブ・コア1又はサブ・コア2にリクエ
ストを方向付ける。これは、一般的にポリモーフィズム(polymorphism)として
知られているOOP技術を用いて達成される。コア機能と制御行動とをこのよう
に分離することによって、コアD、サブ・コア1及びサブ・コア2というオブジ
ェクトをシステム独立であり、従って、コア・オブジェクト・コントローラ12
6を若干修正することによって他のシステムにおいて再利用可能にすることがで
きる。このように、本発明による方法は、システムにおいて、より上位のセグメ
ント・レベルとより低位のコア・レベルとの両方に適用可能であり、この方法が
より広く適用されるにつれて、再利用可能なソフトウェア成分の数が増加する。
【0028】 このプロセスは、完全に新たなソフトウェア・アプリケーションの作成に適用
可能であるが、同時に、レガシ・システムをリエンジニアリングすることにより
、システム独立な再利用可能なオブジェクトを用いて新たなシステムを作成する
ことにも適用できる。この方法は、両者の場合で類似しているが、レガシ・シス
テムをリエンジニアリングする場合には、追加的な解析ステップがいくつか必要
となる。レガシ・システムをリエンジニアリングするプロセスの図は、図4に示
されている。レガシ・システム130の行動が解析され(ステップ132)、シ
ステムのイベント・トレース(ステップ134)とそのコア機能(ステップ13
6)とが識別される。システム独立なコア・オブジェクトが作成され(又は、他
のシステム又はオブジェクト・レポジトリから再利用される)(ステップ138
)、コア機能が実現される。次に、制御オブジェクトが作成され、システムのイ
ベント・トレースが実現され(ステップ140)、結果として得られる新たなシ
ステムがテストされ配備される(ステップ142)。リエンジニアリングされた
システムは、この時点で、他のシステムにおいても容易に再利用可能であってシ
ステム独立なコア・オブジェクトを含む。
【0029】 図2との関係で上述したように、図4に示されたステップが示されている通り
のシーケンスで実行されることは本質的でない。本発明を実現するにはこれらの
ステップがそれぞれ実行されなければならないが、多数の異なる順序を用いてリ
エンジニアリングされたシステムを成功裏に生じさせることが可能である。
【0030】 あるいは、特定のシステムを特に念頭におくことなく、再利用可能なコア・オ
ブジェクトを抽象的に作成してオブジェクト・レポジトリの中に保持しておくこ
とも可能である。基本的な航空管制の操作を実行するオブジェクトなど、広範囲
なシステムにおいて必要とされる可能性がある基本的な機能は、結果的に得られ
るオブジェクトの中にシステムに特有の制御行動が埋め込まれていない限り、本
発明によって作成することができる。オブジェクトがシステムにおける使用のた
めに選択されると、当該オブジェクトに関係するイベント・トレースが上述した
態様で決定され、それらのトレースを実現する制御オブジェクトが作成される。
【0031】 コア・オブジェクトの再利用可能性は、「ビュー・マネージャ」を用いること
によって更に強化することができる。このビュー・マネージャは、「サーバ」で
あるコア・オブジェクトとそれに対応する「クライアント」であるコア・オブジ
ェクトとの間での持続性の交互作用を処理する方法を与える。ビュー・マネージ
ャとは、1つのオブジェクト又は1組のオブジェクトであって、1つの「サーバ
」であるコア・オブジェクトから1つ又は複数の他のコア・オブジェクト(ここ
では「クライアント」と称される)にイベント告知ベースでデータを与える機構
を提供するものである。クライアントは、特定の1つのセグメントの中のオブジ
ェクトであるか、又は、異なる複数のセグメントの中にありうる。別個のビュー
・マネージャが、それぞれのコア・オブジェクトに対して作成される。同様にし
て、別個の「サブ・ビュー」マネージャがそれぞれのサブ・コア・オブジェクト
に対して作成される。
【0032】 ビュー・マネージャを使用する例は、図5に図解されている。ビュー・マネー
ジャ150は、サブ・コア・オブジェクトa、b、c及びdを含むコア・オブジ
ェクトであるコアEとコア・オブジェクト・コントローラ152との間に配置さ
れている。ビュー・マネージャ150は、コア・オブジェクト・コントローラ1
52又はコアEのオブジェクトのどちらからもデータを受け取ることができる。
ビュー・マネージャ150は、サブ・ビュー・マネージャ・オブジェクトa、b
、c及びdに分解されるが、これらは、データをサブ・コア・オブジェクトa、
b、d及びdそれぞれからのデータを与えることを管理するために作成される。
この例では、3つのクライアント(クライアント1、クライアント2及びクライ
アント3)、すなわち、コアEアセンブリの中で見つかるデータを要求する他の
セグメント又はオブジェクトが存在する。
【0033】 クライアント・オブジェクトは、最初に、コア・オブジェクト・コントローラ
152を介してビュー・マネージャ150に「登録」し、それによって、コアE
又はそのサブ・コア・オブジェクトa−dの任意のものにおいて状態変化が存在
するときは常にクライアントは変化の告知を自動的に受け取ることを望む、とい
うことをビュー・マネージャに伝達する。クライアントはサブ・コア・オブジェ
クトの1つによって管理されるデータにおける変化に関心を有するということが
登録によって示される場合には、ビュー・マネージャ150は、この登録情報を
、クライアントへの関心対象であるデータを管理するサブ・コア・オブジェクト
と関連するサブ・ビュー・マネージャに送る。コアE又はサブ・コア・オブジェ
クトa−dに状態変化が存在するときには、それに関連するビュー・マネージャ
は、「変化の告知」(change notices)を登録されたクライアントにブロードキ
ャストして、彼らに変化を伝える。これは、一般的にポリモーフィズムと称され
ているOOP技術を用いて達成される。
【0034】 これまでは、サーバ・オブジェクトからそのクライアント・オブジェクトへの
データの通信は、関係するオブジェクトに埋め込まれていなければならなかった
。このようなデータ通信の詳細をコア・オブジェクトから取り除き、それらをビ
ュー・マネージャの中に配置することによって、コア・オブジェクトの再利用可
能性は強化される。登録は動的(dynamic)であり、典型的にはビュー・マネー
ジャを再利用の際に修正する必要はないということに注意すべきである。ここで
説明している制御オブジェクトとビュー・マネージャという概念の両方を用いる
ことによってコア・オブジェクトが作成されるときには、ソフトウェアの再利用
可能性と拡張性とが著しく強化される。
【0035】 新たなソフトウェア・システムを開発するときに用いることができるであろう
本発明による方法のより詳細な説明が、図6に示されている。ステップ200で
は、システム・レベルのイベント応答リストと同様に、システム・レベルの使用
ケースが開発される。これらのステップは、システムが必要とする機能を定義す
るのに役立つ。
【0036】 識別された機能は、開発/動作セグメントに分割される(ステップ202)。
既に述べたように、セグメントとは、完全なシステム機能の部分集合であり、結
合的(cohesive)なスタンドアロンとしての能力を提供しなければならない。シ
ステム・アーキテクチャは、複数のセグメントとそれらの間のインターフェース
とによって構成される。
【0037】 使用ケースとイベント応答リストとは、セグメント・レベルで開発される(ス
テップ204)。それぞれの機能イベントでは、当該機能を達成するのに必要で
あるコア・オブジェクトが記述され、イベントへの応答が定義される。
【0038】 コア・オブジェクトが定義され、それぞれのセグメントの中のオブジェクトの
相互作用を記述するセグメント・イベント・トレース図が、使用ケースとイベン
ト応答リストとに基づいて開発される(ステップ206)。それぞれのセグメン
トは、当該セグメントにおける機能の複数のスレッドを記述する複数のイベント
・トレースを有している。
【0039】 コア・オブジェクトの詳細な設計は、その公的(public)な属性及び動作(方
法)を含めて、ステップ206において定義されたセグメント・イベント・トレ
ースに基づいて、ステップ210で達成される。
【0040】 ステップ212では、サブ・コア・オブジェクトが、サブ・コア・オブジェク
トの中の制御タスクを管理するのに必要なコア・オブジェクト・コントローラ(
既述)と共に、必要に応じて定義される。
【0041】 ビュー・マネージャ(既述)は、ステップ214に作成され、コア・オブジェ
クトとそのクライアントとの間の持続的な相互作用を処理する。 ステップ216では、コア・オブジェクトがコード化され、テストされ、アー
カイブに格納される。同じことが、ステップ218においてセグメント・コント
ローラに対してもなされる。セグメント、コア・オブジェクト及びビュー・マネ
ージャは、ステップ220において統合され、統合されたセグメントはステップ
222においてテストされ、アーカイブに格納される。
【0042】 この時点で、システムは既に作成されており、システムによって用いられるコ
ア・オブジェクトは、他のシステムにおいて容易に再利用可能であって、セグメ
ント・コントローラが修正されることだけが要求される。
【0043】 図2及び図4に関して既に述べたように、図6に示されているステップは示さ
れている順序の通りに実行されることは本質的でない。多くの異なる順序を用い
手、再利用可能なソフトウェア成分の特徴である機能システムを成功裏に生じさ
せることが可能である。
【0044】 以上では本発明の特定の実施例を示し説明したが、当業者にとっては、多くの
変更及び別個の実施例が明らかであろう。従って、本発明は冒頭の特許請求の範
囲の記載によってのみ画定されることが意図されている。
【図面の簡単な説明】
【図1】 図1a及び図1bで構成される。図1aは、特定のソフトウェア・システムに
対する従来技術によるシステム・イベント・トレース図である。図1bは、図1
aに示されているものと類似するオブジェクトを含む従来技術によるシステム・
イベント・トレース図であるが、異なるソフトウェア・システムのためのもので
ある。
【図2】 本発明によるシステム独立なソフトウェア成分を作成し再利用する基本的な方
法を図解している流れ図である。
【図3】 本発明による制御オブジェクトの使用を図解する図である。
【図4】 レガシ・システムをリエンジニアリングして、本発明による再利用可能でシス
テム独立なソフトウェア成分を用いるシステムを生じさせる方法を図解している
流れ図である。
【図5】 本発明によるビュー・マネージャ・オブジェクトの使用を図解している図であ
る。
【図6】 本発明によるシステム独立なソフトウェア成分を作成し再利用する方法をより
詳細に図解している流れ図である。
【手続補正書】
【提出日】平成13年6月26日(2001.6.26)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項10】 請求項8記載の方法において、コア・オブジェクトをサブ
・コア・オブジェクトのアセンブリに分解するステップと、前記分解されたコア
・オブジェクトのそれぞれに対してコア・オブジェクト・コントローラを作成す
るステップ(212)とを更に含んでおり、前記コア・オブジェクト・コントロ
ーラはそれぞれが対応するコア・オブジェクトのサブ・コア・オブジェクトの間
での制御フローを制御することを特徴とする方法。
【手続補正書】
【提出日】平成13年6月29日(2001.6.29)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C U,CZ,DE,DK,EE,ES,FI,GB,GD ,GE,GH,GM,HR,HU,ID,IL,IN, IS,JP,KE,KG,KP,KR,KZ,LC,L K,LR,LS,LT,LU,LV,MD,MG,MK ,MN,MW,MX,NO,NZ,PL,PT,RO, RU,SD,SE,SG,SI,SK,SL,TJ,T M,TR,TT,UA,UG,UZ,VN,YU,ZA ,ZW (72)発明者 ダウセット,パトリシア・ジェイ アメリカ合衆国カリフォルニア州91343, ノース・ヒルズ,グレシャム・ストリート 15864 (72)発明者 フレデリック,デール・エフ アメリカ合衆国カリフォルニア州91362, ノースリッジ,キャンビー・アベニュー 10508 (72)発明者 ハルテ,スチュアート・エイチ アメリカ合衆国カリフォルニア州91362, ウエストレーク・ビレッジ,エッジブルッ ク・プレース 5644 (72)発明者 ジョンソン,ゲーリー・アール アメリカ合衆国カリフォルニア州91320, ニューベリー・パーク,パシフィック・サ ークル 423 Fターム(参考) 5B076 DD02 DD06 【要約の続き】 トローラ」(126)でありうる。コア・オブジェクト の再利用可能性は、「ビュー・マネージャ」(150) を用いることによって、更に強化される。

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 システム独立なソフトウェア成分を作成する方法であって、 ソフトウェア・システムによって要求されるコア機能を識別するステップと、 前記コア機能を実現するシステム独立なコア・オブジェクトを作成するステッ
    プと、 前記システムに基づき前記コア・オブジェクトの間にイベント・トレースに関
    係する制御フローを定義するステップと、 前記イベント・トレースに関係する制御フローに従って前記コア・オブジェク
    トの動作を呼び出す制御オブジェクトを作成するステップと、 それによって、前記コア機能と前記イベント・トレースに関係する制御フロー
    とを前記コア・オブジェクトと前記制御オブジェクトとにそれぞれ分離し、前記
    コア・オブジェクトを、異なるイベント・トレースに関係する制御フローを有す
    る他のソフトウェア・システムにおいて再利用することを可能にするステップと
    、 を含むことを特徴とする方法。
  2. 【請求項2】 請求項1記載の方法において、前記コア・オブジェクトの間
    の前記イベント・トレースに関係する制御フローは前記システムを動作させると
    きに要求されるものであることを特徴とする方法。
  3. 【請求項3】 請求項1記載の方法において、前記コア・オブジェクトはそ
    れぞれがオブジェクト指向プログラミング(OOP)技術を用いて作成されるこ
    とを特徴とする方法。
  4. 【請求項4】 請求項1記載の方法において、前記制御オブジェクトはそれ
    ぞれがオブジェクト指向プログラミング(OOP)技術を用いて作成されること
    を特徴とする方法。
  5. 【請求項5】 請求項1記載の方法において、前記コア・オブジェクトと前
    記制御オブジェクトとはオブジェクト指向プログラミング言語で書かれることを
    特徴とする方法。
  6. 【請求項6】 請求項1記載の方法において、特定の機能を協働して実行す
    る1群のコア・オブジェクトをそれぞれが含むセグメントを識別するステップを
    更に含んでおり、前記制御オブジェクトの1つは、前記イベント・トレースに関
    係する制御フローに従って特定のセグメントのコア・オブジェクトの動作を呼び
    出すセグメント・コントローラであり、前記コア機能と前記イベント・トレース
    に関係する制御フローとを前記セグメントと前記セグメント・コントローラとに
    それぞれ分離することにより、前記セグメント・コントローラを修正して異なる
    イベント・トレースに対応することによって前記セグメントを他のソフトウェア
    ・アプリケーションにおいて再利用することが可能になることを特徴とする方法
  7. 【請求項7】 請求項6記載の方法において、前記コア・オブジェクトは、
    前記セグメント・コントローラとは独立の他のコア・オブジェクトとの直接の相
    互作用を通じ、同じセグメントの中の前記他のコア・オブジェクトから必要とさ
    れるデータを取得することを特徴とする方法。
  8. 【請求項8】 請求項1記載の方法において、前記コア・オブジェクトのそ
    れぞれに対してビュー・マネージャ・オブジェクトを作成するステップを更に含
    んでおり、前記ビュー・マネージャ・オブジェクトはそれぞれがそれに関連する
    コア・オブジェクトから1つ又は複数の他のコア・オブジェクトまでデータを搬
    送する通信インターフェースとして機能することを特徴とする方法。
  9. 【請求項9】 請求項8記載の方法において、前記ビュー・マネージャ・オ
    ブジェクトはそれぞれがオブジェクト指向プログラミング(OOP)技術を用い
    て作成されることを特徴とする方法。
  10. 【請求項10】 請求項8記載の方法において、前記関連するコア・オブジ
    ェクトが状態変化を経験するときには、データは前記関連するコア・オブジェク
    トから前記他のコア・オブジェクトまで自動的に搬送されることを特徴とする方
    法。
  11. 【請求項11】 請求項8記載の方法において、 コア・オブジェクトを複数のサブ・コア・オブジェクトに分解するステップで
    あって、前記分解されたコア・オブジェクトは前記複数のサブ・コア・オブジェ
    クトに対する親オブジェクトである、ステップと、 その親オブジェクトが呼び出されるときに要求される前記サブ・コア・オブジ
    ェクトの間にイベント・トレースに関係する制御フローを定義するステップと、 前記定義されたイベント・トレースに関係する制御フローに従って前記サブ・
    コア・オブジェクトの動作を呼び出す制御オブジェクトを作成するステップであ
    って、前記制御オブジェクトはコア・オブジェクト・コントローラであり、前記
    サブ・コア・オブジェクトは、前記コア・オブジェクト・コントローラを修正し
    て異なるイベント・トレースに対応することによって他のソフトウェア・システ
    ムにおいて再利用することが可能である、ステップと、 ビュー・マネージャ・オブジェクトを複数のサブ・ビュー・マネージャ・オブ
    ジェクトに分解するステップであって、前記複数のサブ・ビュー・マネージャ・
    オブジェクトはそれぞれが前記サブ・コア・オブジェクトの対応する1つからデ
    ータを搬送する通信インターフェースとして機能する、ステップと、 を更に含むことを特徴とする方法。
  12. 【請求項12】 請求項1記載の方法において、 コア・オブジェクトを複数のサブ・コア・オブジェクトに分解するステップで
    あって、前記分解されたコア・オブジェクトは前記複数のサブ・コア・オブジェ
    クトに対する親オブジェクトである、ステップと、 その親オブジェクトが呼び出されるときに要求される前記サブ・コア・オブジ
    ェクトの間にイベント・トレースに関係する制御フローを定義するステップと、 前記定義されたイベント・トレースに関係する制御フローに従って前記サブ・
    コア・オブジェクトの動作を呼び出す制御オブジェクトを作成するステップであ
    って、前記制御オブジェクトはコア・オブジェクト・コントローラであり、前記
    サブ・コア・オブジェクトは、前記コア・オブジェクト・コントローラを修正し
    て異なるイベント・トレースに対応することによって他のソフトウェア・システ
    ムにおいて再利用することが可能である、ステップと、 を更に含むことを特徴とする方法。
  13. 【請求項13】 レガシ・ソフトウェア・システムを、システム独立なソフ
    トウェア成分を用いる新たなソフトウェア・システムにリエンジニアリングする
    方法であって、 前記レガシ・ソフトウェア・システムによって要求されるシステム・イベント
    ・トレースを識別するステップと、 前記レガシ・ソフトウェア・システムのコア機能を識別するステップと、 前記コア機能を実現するシステム独立なコア・オブジェクトを作成するステッ
    プと、 前記識別されたイベント・トレースに従って前記コア・オブジェクトの動作を
    呼び出すコア・オブジェクトを作成するステップであって、前記コア・オブジェ
    クトと前記制御オブジェクトとはシステム独立なソフトウェア成分を用いる新た
    なソフトウェア・システムを形成し、前記コア機能と前記イベント・トレースと
    を前記コア・オブジェクトと前記制御オブジェクトとにそれぞれ分離することに
    よって、異なるイベント・トレースを有する他のソフトウェア・システムにおい
    て前記コア・オブジェクトを再利用することが可能になる、ステップと、 を含むことを特徴とする方法。
  14. 【請求項14】 請求項13記載の方法において、前記レガシ・ソフトウェ
    ア・システムの行動を解析して前記システム・イベント・トレースと前記コア機
    能とを識別するステップを更に含むことを特徴とする方法。
  15. 【請求項15】 請求項13記載の方法において、前記コア・オブジェクト
    と前記制御オブジェクトとはそれぞれがオブジェクト指向プログラミング(OO
    P)技術を用いて作成されることを特徴とする方法。
  16. 【請求項16】 システム独立なソフトウェア成分を作成しそれらを特定の
    ソフトウェア・システムにおいて用いる方法であって、 システムの機能をそれぞれのセグメントに分割するステップと、 前記セグメントのそれぞれに対して使用ケースとイベント応答リストとを開発
    するステップと、 前記セグメントのそれぞれに対してシステム独立なコア・オブジェクトを定義
    し、関連するセグメントの機能を実現するステップと、 前記セグメント内のコア・オブジェクトの間での相互作用を記述するイベント
    ・トレースに関係する制御フローをそれぞれのセグメントに対して定義するステ
    ップと、 前記イベント・トレースに関係する制御フローに基づいて前記セグメントのそ
    れぞれに対してセグメント・コントローラを作成するステップであって、前記セ
    グメント・コントローラは、関連するセグメント内のコア・オブジェクトの間で
    の制御フローを管理するように構成されている、ステップと、 前記コア・オブジェクトのそれぞれに対してビュー・マネージャ・オブジェク
    トを作成するステップであって、前記ビュー・マネージャ・オブジェクトのそれ
    ぞれは、関連するコア・オブジェクトから1つ又は複数の他のコア・オブジェク
    トまでデータを搬送する通信インターフェースとして機能する、ステップと、 を含んでおり、システム独立なコア・オブジェクトの使用と、前記ビュー・マ
    ネージャ・オブジェクトと、前記イベント・トレースに関係する制御フローを管
    理する前記セグメント・コントローラとによって、異なるイベント・トレースを
    有する他のシステムにおいて前記コア・オブジェクトを再利用することが可能に
    なることを特徴とする方法。
  17. 【請求項17】 請求項16記載の方法において、前記システムに対して使
    用ケースとイベント応答リストとを開発してその機能を決定するステップを更に
    含むことを特徴とする方法。
  18. 【請求項18】 請求項16記載の方法において、前記セグメント・コント
    ローラのそれぞれに対して公的な動作を定義するステップを更に含んでおり、前
    記公的な動作は、それぞれのセグメントに対するアプリケーション・プログラム
    ・インターフェース(API)として機能することを特徴とする方法。
  19. 【請求項19】 請求項16記載の方法において、前記コア・オブジェクト
    のそれぞれに対して公的な動作を定義するステップを更に含むことを特徴とする
    方法。
  20. 【請求項20】 請求項16記載の方法において、コア・オブジェクトをサ
    ブ・コア・オブジェクトのアセンブリに分解するステップと、前記分解されたコ
    ア・オブジェクトのそれぞれに対してコア・オブジェクト・コントローラを作成
    するステップとを更に含んでおり、前記コア・オブジェクト・コントローラはそ
    れぞれが対応するコア・オブジェクトのサブ・コア・オブジェクトの間での制御
    フローを制御することを特徴とする方法。
  21. 【請求項21】 請求項20記載の方法において、ビュー・マネージャ・オ
    ブジェクトをサブ・ビュー・マネージャ・オブジェクトのアセンブリに分解する
    ステップを更に含んでおり、サブ・ビュー・マネージャ・オブジェクトのアセン
    ブリのそれぞれは、前記サブ・コア・オブジェクトの対応する1つからデータを
    搬送する通信インターフェースとして機能することを特徴とする方法。
  22. 【請求項22】 請求項16記載の方法において、前記コア・オブジェクト
    をコード化しテストしアーカイブに格納するステップを更に含むことを特徴とす
    る方法。
  23. 【請求項23】 請求項16記載の方法において、前記セグメント・コント
    ローラをコード化しテストするステップを更に含むことを特徴とする方法。
  24. 【請求項24】 請求項16記載の方法において、前記コア・オブジェクト
    と前記セグメント・コントローラとを統合されたセグメントに統合するステップ
    と、前記統合されたセグメントをテストするステップと、前記統合されたセグメ
    ントをアーカイブに格納するステップとを更に含むことを特徴とする方法。
JP2000590048A 1998-12-22 1999-12-22 システム独立なソフトウェア成分の作成及び使用方法 Pending JP2002533806A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/219,571 US6332210B1 (en) 1998-12-22 1998-12-22 Method of creating and using system-independent software components
US09/219,571 1998-12-22
PCT/US1999/030708 WO2000038056A1 (en) 1998-12-22 1999-12-22 Method of creating and using system-independent software components

Publications (1)

Publication Number Publication Date
JP2002533806A true JP2002533806A (ja) 2002-10-08

Family

ID=22819821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000590048A Pending JP2002533806A (ja) 1998-12-22 1999-12-22 システム独立なソフトウェア成分の作成及び使用方法

Country Status (6)

Country Link
US (1) US6332210B1 (ja)
EP (1) EP1141824A4 (ja)
JP (1) JP2002533806A (ja)
KR (1) KR100664478B1 (ja)
AU (1) AU757126B2 (ja)
WO (1) WO2000038056A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714219B2 (en) * 1998-12-31 2004-03-30 Microsoft Corporation Drag and drop creation and editing of a page incorporating scripts
US6556220B1 (en) * 1999-10-21 2003-04-29 International Business Machines Corporation Method and system to display, modify or substitute the contents of self-describing objects
US20030046661A1 (en) * 2001-07-03 2003-03-06 Mark Farber Cross vertical application software development system and method
US6839662B2 (en) * 2001-08-17 2005-01-04 Lockheed Martin Corporation Command and control system architecture for convenient upgrading
KR20030025031A (ko) * 2001-09-19 2003-03-28 한국전자통신연구원 1급 메소드를 이용한 소프트웨어 커넥터 구현 방법
US7076766B2 (en) 2002-06-03 2006-07-11 Steve Wirts Software application development methods and framework
US8032657B2 (en) * 2005-09-12 2011-10-04 Microsoft Corporation Preservation of type information between a client and a server
US7823017B2 (en) 2006-08-02 2010-10-26 International Business Machines Corporation Structure for task based debugger (transaction-event-job-trigger)
US7594140B2 (en) * 2006-08-02 2009-09-22 International Business Machines Corporation Task based debugger (transaction-event-job-trigger)
CN100410877C (zh) * 2006-08-25 2008-08-13 华为技术有限公司 定义面向对象模型的操作接口的方法
US20090183155A1 (en) * 2008-01-15 2009-07-16 Microsoft Corporation Isolation of Content by Processes in an Application
US20110246511A1 (en) * 2010-04-06 2011-10-06 John Smith Method and system for defining and populating segments

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
GB2308468A (en) * 1995-12-20 1997-06-25 Ibm Data processing systems and methods providing interoperability between data processing resources
US5936860A (en) * 1997-03-28 1999-08-10 International Business Machines Corporation Object oriented technology framework for warehouse control
US6016495A (en) * 1997-09-19 2000-01-18 International Business Machines Corporation Object-oriented framework mechanism for providing persistent storage

Also Published As

Publication number Publication date
AU2380900A (en) 2000-07-12
EP1141824A4 (en) 2006-12-06
KR100664478B1 (ko) 2007-01-04
AU757126B2 (en) 2003-02-06
KR20010103718A (ko) 2001-11-23
EP1141824A1 (en) 2001-10-10
WO2000038056A1 (en) 2000-06-29
US6332210B1 (en) 2001-12-18

Similar Documents

Publication Publication Date Title
US5950201A (en) Computerized design automation method using a single logical PFVL paradigm
US6470375B1 (en) System and method for managing the execution of system management tasks
US5920873A (en) Data management control system for file and database
US6094654A (en) Data management system for file and database management
US6035297A (en) Data management system for concurrent engineering
US7370335B1 (en) System and method for providing a public application program interface
US6083277A (en) Filtering an object interface definition to determine services needed and provided
JP2986051B2 (ja) オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
JP2003535383A (ja) レガシーデータストラクチャ用オブジェクト特性メタモデルエミュレータ
JP2002533806A (ja) システム独立なソフトウェア成分の作成及び使用方法
JPH08263309A (ja) ソフトウェア・アプリケーション・プログラム・オブジェクト間のイベント通知方法及び装置
WO2005088444A2 (en) System and method for dynamic runtime hla-federation-execution data display
US20060059497A1 (en) Object-oriented system for networking onboard aeronautical equipment items
US7171656B2 (en) Generic embedded application technology architecture
US20070006121A1 (en) Development activity recipe
US6912561B1 (en) Method and apparatus for using classes, encapsulating data with its behaviors, for transferring between databases and client applications and for enabling applications to adapt to specific constraints of the data
Strüber et al. Managing Model and Meta-Model Components with Export and Import Interfaces.
CN112132713A (zh) 基于分层交互构件技术的模训通用平台和方法
CN111580812A (zh) 数据可视化组件通信方法、系统、电子设备及存储介质
Peacock Distributed architecture technologies
JP2002132503A (ja) ワークフロー管理システムにおけるデータ連携定義方法およびプロセスデータ管理システム
Hauch et al. A distributed software environment for aerospace product development
Shaw Elements of a design language for software architecture
Pilloud et al. SimWorx: an Ada 95 distributed simulation application framework supporting HLA and DIS
Otero A real-time distributed analysis automation for hurricane surface wind observations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100216