JPH0561683A - オブジエクトに基づく情報処理システム及びソフトウエア保守システム - Google Patents
オブジエクトに基づく情報処理システム及びソフトウエア保守システムInfo
- Publication number
- JPH0561683A JPH0561683A JP4020744A JP2074492A JPH0561683A JP H0561683 A JPH0561683 A JP H0561683A JP 4020744 A JP4020744 A JP 4020744A JP 2074492 A JP2074492 A JP 2074492A JP H0561683 A JPH0561683 A JP H0561683A
- Authority
- JP
- Japan
- Prior art keywords
- event
- software
- storage means
- objects
- maintenance system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
(57)【要約】
【目的】この発明の目的は、大規模なソフトウェアの保
守の問題の解決にオブジェクト指向手法を適用すること
にある。 【構成】ソフトウェアの実行可能なバージョンをコンポ
ーネント・オブジェクト及び事象に基づいて自動的に生
成するコンピュータ・システム及び方法である。カプセ
ル化、継承及びメッセージ引渡しに関するオブジェクト
指向言語の概念を用いて指定及び実行ステップが簡易化
される。オブジェクト従属関係解釈機能が該オブジェク
トへの事象の引渡しを反復して制御するために設けられ
る。
守の問題の解決にオブジェクト指向手法を適用すること
にある。 【構成】ソフトウェアの実行可能なバージョンをコンポ
ーネント・オブジェクト及び事象に基づいて自動的に生
成するコンピュータ・システム及び方法である。カプセ
ル化、継承及びメッセージ引渡しに関するオブジェクト
指向言語の概念を用いて指定及び実行ステップが簡易化
される。オブジェクト従属関係解釈機能が該オブジェク
トへの事象の引渡しを反復して制御するために設けられ
る。
Description
【0001】
【産業上の利用分野】本発明はコンピュータ・ソフトウ
ェアのオブジェクトを保守するための装置及び方法に関
し、特にオブジェクト指向概念に基づいてシステム・コ
ンポーネントを表わすオブジェクト及びこれらのコンポ
ーネントに適用されるプロセスを用いるシステムに関す
る。
ェアのオブジェクトを保守するための装置及び方法に関
し、特にオブジェクト指向概念に基づいてシステム・コ
ンポーネントを表わすオブジェクト及びこれらのコンポ
ーネントに適用されるプロセスを用いるシステムに関す
る。
【0002】
【従来の技術】ソフトウェア・システムは、実行可能な
システムを形成するようにコンパイルされ相互に連結さ
れる複数のソース・コード・プログラムをつくることに
より構築される。ソフトウェア保守とは、ソフトウェア
の誤りを修正し、又は機能を高めるもしくは変更するよ
うにソフトウェアを変更し適応させるプロセスのことで
ある。ソフトウェア保守は、実行可能なソフトウェア・
システム(実行バージョン)が前記コンポーネントのソ
ース・プログラムに対して行われた全ての変更を包含す
ることを保証しうる。実行バージョンの有効性は、ソー
ス・プログラムの1つが変更される毎にソフトウェア・
システムの全てのコンポーネントをコンパイルし直し且
つ連結し直すことにより保証することができる。しかし
ながら、ソフトウェア・システムのサイズが大きくなる
につれて、この手法は次第に非実際的になる。
システムを形成するようにコンパイルされ相互に連結さ
れる複数のソース・コード・プログラムをつくることに
より構築される。ソフトウェア保守とは、ソフトウェア
の誤りを修正し、又は機能を高めるもしくは変更するよ
うにソフトウェアを変更し適応させるプロセスのことで
ある。ソフトウェア保守は、実行可能なソフトウェア・
システム(実行バージョン)が前記コンポーネントのソ
ース・プログラムに対して行われた全ての変更を包含す
ることを保証しうる。実行バージョンの有効性は、ソー
ス・プログラムの1つが変更される毎にソフトウェア・
システムの全てのコンポーネントをコンパイルし直し且
つ連結し直すことにより保証することができる。しかし
ながら、ソフトウェア・システムのサイズが大きくなる
につれて、この手法は次第に非実際的になる。
【0003】オペレーティング・システム・ソフトウェ
アのような大規模なソフトウェア・システム及び重要な
アプリケーション・プログラムは数百、数千又は数万の
別々のソース・コード・プログラムから成るかも知れな
い。これらのソース・コード・プログラムは、ソフトウ
ェア・システムの構成の設計者が指定したように相互に
関連する。個々のソフトウェア・システムの相互関連は
階層従属グラフとして示すことができる。例えば、図1
で、toponeと呼ばれるソフトウェア・システムは3つの
コンポーネント、first.o、second.o 及び third.oに基
づく。これらの各々は他のプログラムに従属する。例え
ば、first.oは first.c 及びfirst.hに従属する。
アのような大規模なソフトウェア・システム及び重要な
アプリケーション・プログラムは数百、数千又は数万の
別々のソース・コード・プログラムから成るかも知れな
い。これらのソース・コード・プログラムは、ソフトウ
ェア・システムの構成の設計者が指定したように相互に
関連する。個々のソフトウェア・システムの相互関連は
階層従属グラフとして示すことができる。例えば、図1
で、toponeと呼ばれるソフトウェア・システムは3つの
コンポーネント、first.o、second.o 及び third.oに基
づく。これらの各々は他のプログラムに従属する。例え
ば、first.oは first.c 及びfirst.hに従属する。
【0004】一般に、ソフトウェア・システムの従属ネ
ットワークは、最終的にアセンブルされて完成したソフ
トウェア・システムをつくるソース・プログラム・モジ
ュール及び中間コンポーネントを識別する。中間モジュ
ール及び完成したシステム製品の作成は定義された実行
可能なプロセスによってなし遂げられる。最も頻繁に使
用される機能は、ソース・コード・プログラムを、ソー
ス・コードで与えられたステップの実行に必要な機械語
命令を含むオブジェクト・コード・モジュールに変換す
るコンパイルである。例えば、図1で、first.o と命名
されたオブジェクト・コード・モジュールは first.c
を first.h と一緒にコンパイルすることによって生成
される。(この例はC言語でコード化されたプログラム
に基づくけれども、その原理はFORTRAN、PASCAL、ADAの
ようなコンパイル又は解釈される言語又はアセンブリ言
語に拡張できる。)2番目に頻繁に使用されるプロセス
は、実行可能なモジュールを作るためのオブジェクト・
コード・ファイルの結合即ち連係編集である。この結合
ステップはオブジェクト・コード・ファイルを相互に関
連づけるのに必要なプロセスを含み、変数、メモリ・ロ
ケーション及び他の要素との関連が完全に解決されるよ
うにするので、その結果生じたモジュールはコンピュー
タ・システムにロードし実行することができる。
ットワークは、最終的にアセンブルされて完成したソフ
トウェア・システムをつくるソース・プログラム・モジ
ュール及び中間コンポーネントを識別する。中間モジュ
ール及び完成したシステム製品の作成は定義された実行
可能なプロセスによってなし遂げられる。最も頻繁に使
用される機能は、ソース・コード・プログラムを、ソー
ス・コードで与えられたステップの実行に必要な機械語
命令を含むオブジェクト・コード・モジュールに変換す
るコンパイルである。例えば、図1で、first.o と命名
されたオブジェクト・コード・モジュールは first.c
を first.h と一緒にコンパイルすることによって生成
される。(この例はC言語でコード化されたプログラム
に基づくけれども、その原理はFORTRAN、PASCAL、ADAの
ようなコンパイル又は解釈される言語又はアセンブリ言
語に拡張できる。)2番目に頻繁に使用されるプロセス
は、実行可能なモジュールを作るためのオブジェクト・
コード・ファイルの結合即ち連係編集である。この結合
ステップはオブジェクト・コード・ファイルを相互に関
連づけるのに必要なプロセスを含み、変数、メモリ・ロ
ケーション及び他の要素との関連が完全に解決されるよ
うにするので、その結果生じたモジュールはコンピュー
タ・システムにロードし実行することができる。
【0005】大規模なソフトウェア・システムでは、ソ
ース・プログラムの変更、又はプログラム間の関係を定
めるソフトウェア構成の変更に、必要な範囲でだけコン
パイル、結合及び他のプロセスを実行することが望まし
い。必要なプロセスだけを手動で実行する試みはソフト
ウェア・システムのサイズが大きくなるにつれて誤り及
び欠落が生じやすい。ソフトウェア保守のために必要な
変更を自動的に決定し所要のプロセスを実行する自動化
ツールが開発されている。前記ツールの1つはUNIX(UN
IXはUNIXシステム・ラボラトリーズ社の商標である)に
基づいたシステムにあるmakeユーティリティである。
ース・プログラムの変更、又はプログラム間の関係を定
めるソフトウェア構成の変更に、必要な範囲でだけコン
パイル、結合及び他のプロセスを実行することが望まし
い。必要なプロセスだけを手動で実行する試みはソフト
ウェア・システムのサイズが大きくなるにつれて誤り及
び欠落が生じやすい。ソフトウェア保守のために必要な
変更を自動的に決定し所要のプロセスを実行する自動化
ツールが開発されている。前記ツールの1つはUNIX(UN
IXはUNIXシステム・ラボラトリーズ社の商標である)に
基づいたシステムにあるmakeユーティリティである。
【0006】makeは(makeファイルとして知られる)コン
ピュータ・ファイルで指定された非周期的な従属グラフ
を用いる。グラフ内の各ノードは、もし子ノードのどれ
かが変更されると、親ノードの新しいバージョンを生成
するために実行されるmake規則を有する。実行可能なプ
ログラム A.outのmakeファイルは以下の表1に示す。第
1のラインはA.outがx1.o及びx2.o に従属することを示
す。もしこれらのどれかが無効(out of date)であるこ
とが分かれば、コマンドcc x1.o x2.o が実行される。
これはこれらの2つのオブジェクト・モジュールの結合
ステップを実行する。第3のラインは x1.oがx1.cに従
属することを表わす。もし x1.oがx1.cに関して無効で
あれば、コマンドcc-c x1.cが実行され、もしその日付
が x1.oの日付よりも新しければソース・プログラム x
1.cをコンパイルする。
ピュータ・ファイルで指定された非周期的な従属グラフ
を用いる。グラフ内の各ノードは、もし子ノードのどれ
かが変更されると、親ノードの新しいバージョンを生成
するために実行されるmake規則を有する。実行可能なプ
ログラム A.outのmakeファイルは以下の表1に示す。第
1のラインはA.outがx1.o及びx2.o に従属することを示
す。もしこれらのどれかが無効(out of date)であるこ
とが分かれば、コマンドcc x1.o x2.o が実行される。
これはこれらの2つのオブジェクト・モジュールの結合
ステップを実行する。第3のラインは x1.oがx1.cに従
属することを表わす。もし x1.oがx1.cに関して無効で
あれば、コマンドcc-c x1.cが実行され、もしその日付
が x1.oの日付よりも新しければソース・プログラム x
1.cをコンパイルする。
【0007】 表1 − make ファイルのリスト A.out: x1.0 x2.0 cc x1.0 x2.0 x1.0: x1.c cc −c x1.c x2.0: x2.c cc −c x2.c
【0008】makeユーティリティは、ソフトウェアの保
守を実行できるが、柔軟性に欠け利用するのが困難であ
る。大規模なソフトウェア・システムは多数の規則の指
定を必要とするであろう。makeファイル内のモジュール
の従属及び相互関連はファイルの解釈及び検査を非常に
困難にするというよりもむしろ暗黙的なものにする。こ
れは、ソフトウェア構成及び相互関連に変更が行われる
ときmakeファイルの保守に障害をもたらす。
守を実行できるが、柔軟性に欠け利用するのが困難であ
る。大規模なソフトウェア・システムは多数の規則の指
定を必要とするであろう。makeファイル内のモジュール
の従属及び相互関連はファイルの解釈及び検査を非常に
困難にするというよりもむしろ暗黙的なものにする。こ
れは、ソフトウェア構成及び相互関連に変更が行われる
ときmakeファイルの保守に障害をもたらす。
【0009】幾つかの他の手法及び提案された代替手法
に関する説明は米国特許第4558413号に記載され
ている。前記米国特許のシステムはローカル・エリア・
ネットワーク上の一連のワークステーションにあるソー
ス・プログラムに基づいたソフトウェア・システムをア
センブルするように設計されている。前記米国特許のシ
ステムは、より効率的な大規模なソフトウェア製品の管
理を分散環境で提供するように要求されるmakeユーティ
リティへの拡張を提供する。しかしながら、前記米国特
許のシステムは記述子ファイル内の完全な構成(システ
ム・モデル)の仕様を必要とする。
に関する説明は米国特許第4558413号に記載され
ている。前記米国特許のシステムはローカル・エリア・
ネットワーク上の一連のワークステーションにあるソー
ス・プログラムに基づいたソフトウェア・システムをア
センブルするように設計されている。前記米国特許のシ
ステムは、より効率的な大規模なソフトウェア製品の管
理を分散環境で提供するように要求されるmakeユーティ
リティへの拡張を提供する。しかしながら、前記米国特
許のシステムは記述子ファイル内の完全な構成(システ
ム・モデル)の仕様を必要とする。
【0010】オブジェクト指向ソフトウェア・システム
及びオブジェクト指向プログラミング言語は大規模なシ
ステム・ソフトウェアの問題の解決に次第に適用されつ
つある。オブジェクト指向アプローチの目的は、より小
さく、より容易に管理できるように問題を細分化するこ
とにある。オブジェクト指向言語及びシステムはオブジ
ェクトに関してのプログラミング及び開発を促進する。
当該オブジェクトの管理に必要なデータ及び(メソッド
として知られる)プロセスに単一の定義を与えることに
よってオブジェクトはカプセル化(encapsulation)を実
現する。
及びオブジェクト指向プログラミング言語は大規模なシ
ステム・ソフトウェアの問題の解決に次第に適用されつ
つある。オブジェクト指向アプローチの目的は、より小
さく、より容易に管理できるように問題を細分化するこ
とにある。オブジェクト指向言語及びシステムはオブジ
ェクトに関してのプログラミング及び開発を促進する。
当該オブジェクトの管理に必要なデータ及び(メソッド
として知られる)プロセスに単一の定義を与えることに
よってオブジェクトはカプセル化(encapsulation)を実
現する。
【0011】オブジェクト指向言語システムのもう1つ
の特性は継承(inheritance) の概念である。継承は1つ
のオブジェクトが他のオブジェクトからのデータ又はメ
ソッドの継承即ち使用を可能にする。このように、より
一般的なオブジェクト定義からの僅かな変更を定めるこ
とによって、より詳細なオブジェクトを定義することが
できる。
の特性は継承(inheritance) の概念である。継承は1つ
のオブジェクトが他のオブジェクトからのデータ又はメ
ソッドの継承即ち使用を可能にする。このように、より
一般的なオブジェクト定義からの僅かな変更を定めるこ
とによって、より詳細なオブジェクトを定義することが
できる。
【0012】オブジェクトのカプセル化にはオブジェク
ト・メソッドの1つの使用によるオブジェクト・データ
の操作又は観察が必要である。各オブジェクトは目に見
えるインタフェースを他のオブジェクトに提供する動作
のセットが与えられる。目に見えるインタフェースの仕
様に合致するメッセージが当該インタフェースで受取ら
れ処理される場合には、オブジェクト間の通信はメッセ
ージ引渡し(messagepassing)によって行われる。オブジ
ェクトに引渡されたメッセージは前記オブジェクトによ
り分析される。オブジェクト自体はメソッドを選択し、
選択したメソッドにより当該メッセージに反応する。
ト・メソッドの1つの使用によるオブジェクト・データ
の操作又は観察が必要である。各オブジェクトは目に見
えるインタフェースを他のオブジェクトに提供する動作
のセットが与えられる。目に見えるインタフェースの仕
様に合致するメッセージが当該インタフェースで受取ら
れ処理される場合には、オブジェクト間の通信はメッセ
ージ引渡し(messagepassing)によって行われる。オブジ
ェクトに引渡されたメッセージは前記オブジェクトによ
り分析される。オブジェクト自体はメソッドを選択し、
選択したメソッドにより当該メッセージに反応する。
【0013】オブジェクト指向概念はインスタンス化の
概念によってかなりのオブジェクトの再使用を可能にす
る。インスタンス化は、オブジェクトのコピー又はイン
スタンスが一般的なオブジェクトの記述に基づいて、又
は継承の原理を用いる別のオブジェクトに基づいて生成
されることを可能にする。オブジェクトの特定のインス
タンスはそれ自身のデータを有し、一般的なオブジェク
ト定義における特定のデータをこえることができる。
概念によってかなりのオブジェクトの再使用を可能にす
る。インスタンス化は、オブジェクトのコピー又はイン
スタンスが一般的なオブジェクトの記述に基づいて、又
は継承の原理を用いる別のオブジェクトに基づいて生成
されることを可能にする。オブジェクトの特定のインス
タンスはそれ自身のデータを有し、一般的なオブジェク
ト定義における特定のデータをこえることができる。
【0014】継承は、オブジェクト・インスタンスが1
以上の上位のオブジェクトに隠されたデータ又はメソッ
ドを利用することを可能にする。2以上のオブジェクト
のデータ又はメソッドを継承するオブジェクトは多重継
承を有すると言われる。オブジェクトのカプセル化は図
2のように示される。図2で、オブジェクト100はデ
ータ記述110、機能(メソッド)112及び114を含
む。オブジェクト100はメッセージ116に反応す
る。メッセージ116により、メソッド112又は11
4の1つが選択され実行される。
以上の上位のオブジェクトに隠されたデータ又はメソッ
ドを利用することを可能にする。2以上のオブジェクト
のデータ又はメソッドを継承するオブジェクトは多重継
承を有すると言われる。オブジェクトのカプセル化は図
2のように示される。図2で、オブジェクト100はデ
ータ記述110、機能(メソッド)112及び114を含
む。オブジェクト100はメッセージ116に反応す
る。メッセージ116により、メソッド112又は11
4の1つが選択され実行される。
【0015】図3は多重継承に関する概念を示す。2つ
のオブジェクトA及びBがそれぞれ参照番号120、1
22で与えられる。オブジェクトC 124 はオブジェ
クトAおよびBの各々からデータ及びメソッドを継承す
るものとして示され、それ自身の新たなデータ及びメソ
ッドを持つことができる。オブジェクトCはオブジェク
トA及びBに多重従属していると言われる。
のオブジェクトA及びBがそれぞれ参照番号120、1
22で与えられる。オブジェクトC 124 はオブジェ
クトAおよびBの各々からデータ及びメソッドを継承す
るものとして示され、それ自身の新たなデータ及びメソ
ッドを持つことができる。オブジェクトCはオブジェク
トA及びBに多重従属していると言われる。
【0016】オブジェクト指向アプローチは大規模なソ
フトウェア・システムの保守のような大きな問題を、細
分化するための重要な方法を提供する。カプセル化及び
継承の概念は前記大きな問題を解決する強力なツールを
提供する。
フトウェア・システムの保守のような大きな問題を、細
分化するための重要な方法を提供する。カプセル化及び
継承の概念は前記大きな問題を解決する強力なツールを
提供する。
【0017】
【発明が解決しようとする課題】本発明の目的は、大規
模なソフトウェアの保守の問題の解決にオブジェクト指
向手法を適用することにある。
模なソフトウェアの保守の問題の解決にオブジェクト指
向手法を適用することにある。
【0018】
【課題を解決するための手段】ソフトウェア・システム
は、最下位のレベルで物理的なソース・プログラム・フ
ァイルを表わす複数の他のオブジェクトから成るオブジ
ェクトとして、表わすことができる。更に、ソフトウェ
ア・オブジェクトに適用されるプロセスは、前記オブジ
ェクト内のメソッドとして、それ自身定義することがで
きる。特定のソース・プログラム・ファイルに対するプ
ロセスの適用はメッセージ引渡し方式を用いて達成でき
る。前記処理を制御するために、メッセージはそれ自身
がシステム・オブジェクトに対するプロセスの適用を制
御する属性を備えたオブジェクトとして生成される。こ
れらの改良されたメッセージは本発明のシステムでは事
象(event) として知られる。本発明はオブジェクト従属
関係解釈機能を含み、オブジェクト関係を分析してこれ
らの関係から要求された経路が事象に指定されることを
保証する。
は、最下位のレベルで物理的なソース・プログラム・フ
ァイルを表わす複数の他のオブジェクトから成るオブジ
ェクトとして、表わすことができる。更に、ソフトウェ
ア・オブジェクトに適用されるプロセスは、前記オブジ
ェクト内のメソッドとして、それ自身定義することがで
きる。特定のソース・プログラム・ファイルに対するプ
ロセスの適用はメッセージ引渡し方式を用いて達成でき
る。前記処理を制御するために、メッセージはそれ自身
がシステム・オブジェクトに対するプロセスの適用を制
御する属性を備えたオブジェクトとして生成される。こ
れらの改良されたメッセージは本発明のシステムでは事
象(event) として知られる。本発明はオブジェクト従属
関係解釈機能を含み、オブジェクト関係を分析してこれ
らの関係から要求された経路が事象に指定されることを
保証する。
【0019】よって、本発明により、多数のソフトウェ
ア・コンポーネントから成る大規模なソフトウェア・シ
ステムの保守に関する手法の問題が解決される。
ア・コンポーネントから成る大規模なソフトウェア・シ
ステムの保守に関する手法の問題が解決される。
【0020】
【実施例】本発明は定義されたソフトウェア・オブジェ
クト及び事象に基づいたソフトウェア・システムを保守
するシステム及び方法を提供する。前記システムはソフ
トウェア・オブジェクト及び事象を定義する能力を提供
し、オブジェクトを表わすデータ構造の生成、並びに事
象プロセスを、最終的なソフトウェア・システムの生成
に必要なソフトウェア・オブジェクトに適用するための
オブジェクトの従属関係及び構造の解釈的分析を行う。
クト及び事象に基づいたソフトウェア・システムを保守
するシステム及び方法を提供する。前記システムはソフ
トウェア・オブジェクト及び事象を定義する能力を提供
し、オブジェクトを表わすデータ構造の生成、並びに事
象プロセスを、最終的なソフトウェア・システムの生成
に必要なソフトウェア・オブジェクトに適用するための
オブジェクトの従属関係及び構造の解釈的分析を行う。
【0021】本発明によるシステムの概要は図4に示
す。ソース・ファイル210はオブジェクト及び事象の
定義を含む。良好な実施例では、オブジェクト及び事象
の定義は、オブジェクトの属性及びメソッドの定義を可
能にする記述子を有する一連のテキスト・ファイルとし
て生成される。しかしながら、本発明はテキストに基づ
いたソース・ファイルの使用に限定されず、図形インタ
フェースにより生成されるオブジェクト定義ファイル又
は類似の手法に等しく適用することができる。良好な実
施例では、ソフトウェア・オブジェクトはオブジェクト
及び1以上の属性に名称を与えるオブジェクト記述子を
含む。オブジェクト属性は、変数に対する値の割当て、
オブジェクト従属関係の明細、事象とオブジェクト・メ
ソッドとの関連、又はオブジェクト・メソッドを含むプ
ロセス・ステートメントの定義を含むことができる。従
属リストの提供は本発明にとって特に重要である。従属
リストの属性はその時点のオブジェクトが従属するオブ
ジェクトを指定する。例えば、オブジェクト・コードの
オブジェクトは1以上のソース・コード・オブジェクト
又はライブラリ・オブジェクトに従属するかも知れな
い。
す。ソース・ファイル210はオブジェクト及び事象の
定義を含む。良好な実施例では、オブジェクト及び事象
の定義は、オブジェクトの属性及びメソッドの定義を可
能にする記述子を有する一連のテキスト・ファイルとし
て生成される。しかしながら、本発明はテキストに基づ
いたソース・ファイルの使用に限定されず、図形インタ
フェースにより生成されるオブジェクト定義ファイル又
は類似の手法に等しく適用することができる。良好な実
施例では、ソフトウェア・オブジェクトはオブジェクト
及び1以上の属性に名称を与えるオブジェクト記述子を
含む。オブジェクト属性は、変数に対する値の割当て、
オブジェクト従属関係の明細、事象とオブジェクト・メ
ソッドとの関連、又はオブジェクト・メソッドを含むプ
ロセス・ステートメントの定義を含むことができる。従
属リストの提供は本発明にとって特に重要である。従属
リストの属性はその時点のオブジェクトが従属するオブ
ジェクトを指定する。例えば、オブジェクト・コードの
オブジェクトは1以上のソース・コード・オブジェクト
又はライブラリ・オブジェクトに従属するかも知れな
い。
【0022】オブジェクト・メソッドは現在のソフトウ
ェア・オブジェクトを生成するように処理されねばなら
ない実行可能なステートメントを定める。前記メソッド
はその時点のオブジェクトを生成するために従属オブジ
ェクト及び変数により何が実行されねばならないかを指
定する。従って、前記の実施例では、オブジェクト・コ
ードのオブジェクトを生成するメソッドは従属するソー
ス・コード・ファイルのコンパイルを必要とするかも知
れない。前記メソッドは、異なるタイプのソース・コー
ド・ファイルの認識及び当該認識の結果として適切なコ
ンパイラ又はコンパイラ・オプションの適用ができるよ
うに一般化することができる。
ェア・オブジェクトを生成するように処理されねばなら
ない実行可能なステートメントを定める。前記メソッド
はその時点のオブジェクトを生成するために従属オブジ
ェクト及び変数により何が実行されねばならないかを指
定する。従って、前記の実施例では、オブジェクト・コ
ードのオブジェクトを生成するメソッドは従属するソー
ス・コード・ファイルのコンパイルを必要とするかも知
れない。前記メソッドは、異なるタイプのソース・コー
ド・ファイルの認識及び当該認識の結果として適切なコ
ンパイラ又はコンパイラ・オプションの適用ができるよ
うに一般化することができる。
【0023】一般的なオブジェクトは共通の状況につい
て定めることができる。例えば、C言語ソース・ファイ
ルに関するオブジェクト・ファイルの生成は共通のコン
パイル・ステップが必要である。一般的なオブジェクト
は所要のオブジェクト・メソッドを指定するC言語オブ
ジェクト・コード・ファイルについて定義することがで
きる。システムが一般的なオブジェクトの使用を必要と
するとき、前記オブジェクトは特定のオブジェクト名に
ついてインスタンス化され、もし必要なら、属性はオブ
ジェクト従属を与えるように指定変更される。オブジェ
クト・コード・ファイル及びソース・コード・ファイル
が同じ名称(例えば x1.o及び x1.c)を持つ約定になっ
ている場合、属性の置換えは不要である。
て定めることができる。例えば、C言語ソース・ファイ
ルに関するオブジェクト・ファイルの生成は共通のコン
パイル・ステップが必要である。一般的なオブジェクト
は所要のオブジェクト・メソッドを指定するC言語オブ
ジェクト・コード・ファイルについて定義することがで
きる。システムが一般的なオブジェクトの使用を必要と
するとき、前記オブジェクトは特定のオブジェクト名に
ついてインスタンス化され、もし必要なら、属性はオブ
ジェクト従属を与えるように指定変更される。オブジェ
クト・コード・ファイル及びソース・コード・ファイル
が同じ名称(例えば x1.o及び x1.c)を持つ約定になっ
ている場合、属性の置換えは不要である。
【0024】ソース・ファイルは事象のオブジェクト定
義も含む。前述のように、事象はソフトウェア・オブジ
ェクトに適用されるプロセスを定める。事象名は、メソ
ッド名に対応し、オブジェクトに所要の機能を実行させ
るメッセージとして働く。本発明による事象定義は、ソ
フトウェア保守プロセスを制御するための事象状態 (ev
ent condition)及び前もって必要な事象(prerequisite
event)の提供を含む。事象状態は事象がソフトウェア・
オブジェクトに引渡される前に満たされねばならないソ
フトウェア・オブジェクトの状態を指定する情報であ
る。良好な実施例では、前記状態は、無状態(満たすべ
きオブジェクト状態がないことを意味する)、無効(ソ
フトウェア・オブジェクトがその従属に関して無効であ
るに相違ないことを意味する)、オブジェクト存在(フ
ァイル・システムにオブジェクトが存在するに相違ない
ことを意味する)、オブジェクト不在及びオブジェクト
構築(オブジェクトが(オペレータ(人間)による入力
ではなく)オブジェクト・メソッドを用いて生成された
ことを意味する)を含む。
義も含む。前述のように、事象はソフトウェア・オブジ
ェクトに適用されるプロセスを定める。事象名は、メソ
ッド名に対応し、オブジェクトに所要の機能を実行させ
るメッセージとして働く。本発明による事象定義は、ソ
フトウェア保守プロセスを制御するための事象状態 (ev
ent condition)及び前もって必要な事象(prerequisite
event)の提供を含む。事象状態は事象がソフトウェア・
オブジェクトに引渡される前に満たされねばならないソ
フトウェア・オブジェクトの状態を指定する情報であ
る。良好な実施例では、前記状態は、無状態(満たすべ
きオブジェクト状態がないことを意味する)、無効(ソ
フトウェア・オブジェクトがその従属に関して無効であ
るに相違ないことを意味する)、オブジェクト存在(フ
ァイル・システムにオブジェクトが存在するに相違ない
ことを意味する)、オブジェクト不在及びオブジェクト
構築(オブジェクトが(オペレータ(人間)による入力
ではなく)オブジェクト・メソッドを用いて生成された
ことを意味する)を含む。
【0025】前もって必要な事象はこの事象の引渡しが
できる前にオブジェクトに引渡すべき事象を指定する。
できる前にオブジェクトに引渡すべき事象を指定する。
【0026】良好な実施例では、もしソフトウェア・オ
ブジェクトに事象を適用することが期待された結果を生
じなければ、検査及び誤り検出を可能にする事前状態及
び事後状態(precondition and post-condition) が事象
オブジェクトに追加して与えられる。従って、例えば、
ソフトウェア・オブジェクトのコンパイル・プロセスの
実行は当該プロセスがオブジェクトを構築する状態を結
果として生じるはずである。もし事後状態の検査が、オ
ブジェクトは当該状態にないということを明らかにすれ
ば誤りが生じるので、システムはオペレータに通知すべ
きである。
ブジェクトに事象を適用することが期待された結果を生
じなければ、検査及び誤り検出を可能にする事前状態及
び事後状態(precondition and post-condition) が事象
オブジェクトに追加して与えられる。従って、例えば、
ソフトウェア・オブジェクトのコンパイル・プロセスの
実行は当該プロセスがオブジェクトを構築する状態を結
果として生じるはずである。もし事後状態の検査が、オ
ブジェクトは当該状態にないということを明らかにすれ
ば誤りが生じるので、システムはオペレータに通知すべ
きである。
【0027】本発明は次にオブジェクト定義及び事象定
義を含むソース・ファイルを構文解析して中間"オブジ
ェクト・アセンブリ(object assembly)" 言語にする構
文解析機能220を含む。オブジェクト・アセンブリ中
間言語は、オブジェクト・データ構造をメモリに構築す
るのに使用できる簡易化されたオブジェクト記述の形式
を提供する。良好な実施例では、オブジェクト・アセン
ブリ中間言語は、オブジェクト、その属性及び状態を定
める一連の1バイト命令コードである。標準的な中間言
語の提供により、本発明は、構文解析機能220によっ
て構文解析されたソース・ファイルを動かし、又は図形
入力もしくは(適切な構文解析機能の使用によりオブジ
ェクト・アセンブリ言語に変換できる)異なるフォーマ
ットのソース・ファイルを定義することができる。
義を含むソース・ファイルを構文解析して中間"オブジ
ェクト・アセンブリ(object assembly)" 言語にする構
文解析機能220を含む。オブジェクト・アセンブリ中
間言語は、オブジェクト・データ構造をメモリに構築す
るのに使用できる簡易化されたオブジェクト記述の形式
を提供する。良好な実施例では、オブジェクト・アセン
ブリ中間言語は、オブジェクト、その属性及び状態を定
める一連の1バイト命令コードである。標準的な中間言
語の提供により、本発明は、構文解析機能220によっ
て構文解析されたソース・ファイルを動かし、又は図形
入力もしくは(適切な構文解析機能の使用によりオブジ
ェクト・アセンブリ言語に変換できる)異なるフォーマ
ットのソース・ファイルを定義することができる。
【0028】本発明の次のコンポーネントはオブジェク
ト従属関係解釈機能230である。オブジェクト従属関
係解釈機能230はオブジェクトへの事象引渡しを制御
し適切なメソッドを実行させることによりシステムの動
作を制御する。オブジェクト従属関係解釈機能は各ソフ
トウェア・オブジェクトを評価してその従属関係を決め
る反復プロセスであり、与えられたオブジェクトが評価
される前に全ての下位レベルの従属状態が満たされるこ
とを保証する。オブジェクト従属関係解釈機能は一般的
なオブジェクトの特定のインスタンスをインスタンス化
し且つオブジェクト間の継承特性を管理する責任もあ
る。
ト従属関係解釈機能230である。オブジェクト従属関
係解釈機能230はオブジェクトへの事象引渡しを制御
し適切なメソッドを実行させることによりシステムの動
作を制御する。オブジェクト従属関係解釈機能は各ソフ
トウェア・オブジェクトを評価してその従属関係を決め
る反復プロセスであり、与えられたオブジェクトが評価
される前に全ての下位レベルの従属状態が満たされるこ
とを保証する。オブジェクト従属関係解釈機能は一般的
なオブジェクトの特定のインスタンスをインスタンス化
し且つオブジェクト間の継承特性を管理する責任もあ
る。
【0029】良好な実施例は継承を用いてソフトウェア
のオブジェクト定義セクションで必要な定義数を最小に
する。当該オブジェクトの生成に必要な一般的な従属関
係及びメソッドを有する一般的なオブジェクトを含む一
連のスーパークラスが定義される。これらの一般的なオ
ブジェクトは異なる言語のソース・プログラムをコンパ
イルしその結果生じたオブジェクト・モジュールを相互
に結合するために必要なデータ及びメソッドを含む。
のオブジェクト定義セクションで必要な定義数を最小に
する。当該オブジェクトの生成に必要な一般的な従属関
係及びメソッドを有する一般的なオブジェクトを含む一
連のスーパークラスが定義される。これらの一般的なオ
ブジェクトは異なる言語のソース・プログラムをコンパ
イルしその結果生じたオブジェクト・モジュールを相互
に結合するために必要なデータ及びメソッドを含む。
【0030】本発明はオブジェクト分析及びアクセスの
速度を速くするために共有メモリ及びマップド・メモリ
のファイルを利用する。オブジェクト従属関係解釈機能
230はソース・ファイル210を見つけるオブジェク
ト毎にオブジェクト・データ構造を構築するためにオブ
ジェクト・アセンブリ・データを用いる。このデータ構
造はUNIXに基づいたシステムのマップド・メモリ領域に
格納される。マップド・メモリ領域は該メモリ領域に永
続ディスク・ファイル231を保管し且つ当該ファイル
を該メモリの同じメモリ・アドレスに復元する能力を与
える。同じメモリ・アドレスにデータを復元する能力は
ファイルを保管し復元するプロセスを簡単にする。オブ
ジェクト従属関係解釈機能は、ソース・ファイル210
が変更されない限り、マップド・メモリ内のオブジェク
ト・データ・ファイルを動かし続けることができる。こ
れは、構文解析機能220を動作させ且つオブジェクト
従属関係解析機能230がロケーション毎にオブジェク
ト・データを構築することを不要にする。
速度を速くするために共有メモリ及びマップド・メモリ
のファイルを利用する。オブジェクト従属関係解釈機能
230はソース・ファイル210を見つけるオブジェク
ト毎にオブジェクト・データ構造を構築するためにオブ
ジェクト・アセンブリ・データを用いる。このデータ構
造はUNIXに基づいたシステムのマップド・メモリ領域に
格納される。マップド・メモリ領域は該メモリ領域に永
続ディスク・ファイル231を保管し且つ当該ファイル
を該メモリの同じメモリ・アドレスに復元する能力を与
える。同じメモリ・アドレスにデータを復元する能力は
ファイルを保管し復元するプロセスを簡単にする。オブ
ジェクト従属関係解釈機能は、ソース・ファイル210
が変更されない限り、マップド・メモリ内のオブジェク
ト・データ・ファイルを動かし続けることができる。こ
れは、構文解析機能220を動作させ且つオブジェクト
従属関係解析機能230がロケーション毎にオブジェク
ト・データを構築することを不要にする。
【0031】事象状態を解釈するとき、オブジェクト従
属関係解釈機能はソース・プログラム・ファイルの最新
の更新の日付を判定できなければならない。従来の技術
の多くのシステムでは、ソフトウェア保守中にソース・
プログラムが参照される毎にこの日付が検査された。こ
のような複数の日付検査は前記ソフトウェア保守システ
ムにおけるオーバーヘッドを大幅に増すとともに処理時
間を遅くする。大きなファイル・システム及びファイル
が隠れている可能性を有するトリー構造を含む大規模な
ソフトウェア環境では、前記反復日付検査は望ましくな
い。本発明は、メモリ内の他の参照の結果をどれも表示
するファイル状況を一度だけ検査することによりこの制
約を取り除く。
属関係解釈機能はソース・プログラム・ファイルの最新
の更新の日付を判定できなければならない。従来の技術
の多くのシステムでは、ソフトウェア保守中にソース・
プログラムが参照される毎にこの日付が検査された。こ
のような複数の日付検査は前記ソフトウェア保守システ
ムにおけるオーバーヘッドを大幅に増すとともに処理時
間を遅くする。大きなファイル・システム及びファイル
が隠れている可能性を有するトリー構造を含む大規模な
ソフトウェア環境では、前記反復日付検査は望ましくな
い。本発明は、メモリ内の他の参照の結果をどれも表示
するファイル状況を一度だけ検査することによりこの制
約を取り除く。
【0032】本発明によるソフトウェア保守システムは
次のように動作する。
次のように動作する。
【0033】コンピュータ・システム設計者はテキスト
編集プログラム、図形編集プログラム、又は他の既知の
装置を用いてオブジェクト及び事象のソース・ファイル
210を構築する。オブジェクト定義は各モジュールの
従属関係を指定することによりシステム・ソフトウェア
構成を指定する。事象オブジェクトはソフトウェア・オ
ブジェクトに適用される全てのプロセス及びそれらの適
用の状態を定めることを含めて定義される。
編集プログラム、図形編集プログラム、又は他の既知の
装置を用いてオブジェクト及び事象のソース・ファイル
210を構築する。オブジェクト定義は各モジュールの
従属関係を指定することによりシステム・ソフトウェア
構成を指定する。事象オブジェクトはソフトウェア・オ
ブジェクトに適用される全てのプロセス及びそれらの適
用の状態を定めることを含めて定義される。
【0034】ソース・プログラムに変更を加えた後、プ
ログラマ又はオペレータは更新されたシステムの実行可
能なバージョンを生成するためにソフトウェア保守シス
テムの使用を欲することがある。オペレータはソフトウ
ェア保守システムを呼出し、最初の事象及び該事象を用
いることになっているオブジェクトを供給する。良好な
実施例では、デフォルト時の事象及びデフォルト時の最
初のオブジェクトを該オブジェクト及び事象を記述する
ことにより指定することができる。システムは最初にオ
ブジェクト・データ構造231がソース・ファイル21
0に関して無効であるかどうかを判定する。もし無効な
ら、構文解析機能220はソース・ファイルを構文解析
してその結果生じたオブジェクト・アセンブリ中間言語
をオブジェクト従属関係解釈機能230に引渡すために
活動化される。オブジェクト従属関係解釈機能230は
アクセスされ、変更されたオブジェクト・データ構造を
先ず構築する。良好な実施例では、この構造はマップト
・メモリに構築される。図5に示す流れ図に関連して動
作を説明する。最初に、ステップ302で、オブジェク
ト従属関係解釈機能230はオブジェクト・データ構造
内の指定されたオブジェクトを見つけようと試みる。ひ
とたびオブジェクトが見つかれば、従属関係解釈機能2
30は当該オブジェクトの従属関係が存在するかどうか
を判定する検査を行なう。もし従属関係が存在すれば、
現在のオブジェクト状況が、例えばスタックに保管され
る。こうして、ステップ302で最初の従属オブジェク
トが見つかる。オブジェクトを見つけるステップ302
及び従属関係を検査するステップ304は、従属関係が
ないオブジェクトが見つかるまで反復実行される。この
従属関係がないオブジェクトはオブジェクト従属階層に
おける最下位のレベル又はリード・ノードを表わす。
ログラマ又はオペレータは更新されたシステムの実行可
能なバージョンを生成するためにソフトウェア保守シス
テムの使用を欲することがある。オペレータはソフトウ
ェア保守システムを呼出し、最初の事象及び該事象を用
いることになっているオブジェクトを供給する。良好な
実施例では、デフォルト時の事象及びデフォルト時の最
初のオブジェクトを該オブジェクト及び事象を記述する
ことにより指定することができる。システムは最初にオ
ブジェクト・データ構造231がソース・ファイル21
0に関して無効であるかどうかを判定する。もし無効な
ら、構文解析機能220はソース・ファイルを構文解析
してその結果生じたオブジェクト・アセンブリ中間言語
をオブジェクト従属関係解釈機能230に引渡すために
活動化される。オブジェクト従属関係解釈機能230は
アクセスされ、変更されたオブジェクト・データ構造を
先ず構築する。良好な実施例では、この構造はマップト
・メモリに構築される。図5に示す流れ図に関連して動
作を説明する。最初に、ステップ302で、オブジェク
ト従属関係解釈機能230はオブジェクト・データ構造
内の指定されたオブジェクトを見つけようと試みる。ひ
とたびオブジェクトが見つかれば、従属関係解釈機能2
30は当該オブジェクトの従属関係が存在するかどうか
を判定する検査を行なう。もし従属関係が存在すれば、
現在のオブジェクト状況が、例えばスタックに保管され
る。こうして、ステップ302で最初の従属オブジェク
トが見つかる。オブジェクトを見つけるステップ302
及び従属関係を検査するステップ304は、従属関係が
ないオブジェクトが見つかるまで反復実行される。この
従属関係がないオブジェクトはオブジェクト従属階層に
おける最下位のレベル又はリード・ノードを表わす。
【0035】次にステップ308で、従属関係解釈機能
230はオブジェクトの状態、例えば、それが構築され
ているか、存在しているか、又は無効であるかを判定す
る。次にステップ310で、従属関係解釈機能230は
このオブジェクト状態と事象記述子で指定された状態と
を比較して一致するかどうかを判定する。もし状態が一
致しなければ、事象はこのオブジェクトに引渡されない
ので、親オブジェクトの発見を試みる処理を継続したの
ち、ステップ316の処理に移る。
230はオブジェクトの状態、例えば、それが構築され
ているか、存在しているか、又は無効であるかを判定す
る。次にステップ310で、従属関係解釈機能230は
このオブジェクト状態と事象記述子で指定された状態と
を比較して一致するかどうかを判定する。もし状態が一
致しなければ、事象はこのオブジェクトに引渡されない
ので、親オブジェクトの発見を試みる処理を継続したの
ち、ステップ316の処理に移る。
【0036】もしオブジェクト状態と事象状態が一致す
れば、事象はオブジェクトに引渡される。ステップ31
2で、従属関係解釈機能230はオブジェクト定義がメ
ソッドを指定事象に関連づけるかどうかを判定せねばな
らない。もし事象に関連したメソッドがなければ、ステ
ップ316の処理に移る。もし事象に関連したメソッド
があれば、当該メソッドはステップ314で実行され
る。
れば、事象はオブジェクトに引渡される。ステップ31
2で、従属関係解釈機能230はオブジェクト定義がメ
ソッドを指定事象に関連づけるかどうかを判定せねばな
らない。もし事象に関連したメソッドがなければ、ステ
ップ316の処理に移る。もし事象に関連したメソッド
があれば、当該メソッドはステップ314で実行され
る。
【0037】ステップ316はより上位のレベルのオブ
ジェクトへのプロセスの引渡しが据置かれている(defe
r) かどうかを判定する。もし据置かれていれば、この
オブジェクトはもう一度アクセスされ(例えばスタック
から取り除かれ)、追加の従属関係の検査が続行する。
このように、最上位のレベルのオブジェクトの全ての従
属関係が満たされるまで、実行は反復して行なわれる。
最後に、最上位のレベルの事象に対するオブジェクト状
態が検査され且つ最上位のレベルのオブジェクトが同じ
ロジックにより処理される。この時点では、それ以上の
オブジェクトは存在しないから、従属関係解釈機能23
0は終了する。
ジェクトへのプロセスの引渡しが据置かれている(defe
r) かどうかを判定する。もし据置かれていれば、この
オブジェクトはもう一度アクセスされ(例えばスタック
から取り除かれ)、追加の従属関係の検査が続行する。
このように、最上位のレベルのオブジェクトの全ての従
属関係が満たされるまで、実行は反復して行なわれる。
最後に、最上位のレベルの事象に対するオブジェクト状
態が検査され且つ最上位のレベルのオブジェクトが同じ
ロジックにより処理される。この時点では、それ以上の
オブジェクトは存在しないから、従属関係解釈機能23
0は終了する。
【0038】良好な実施例を拡張すると一般的なオブジ
ェクトのインスタンスを作る能力が含まれる。これはス
テップ302に続いて起こり、もしデータ構造で特定の
オブジェクトが見つからなければ、システムは、オブジ
ェクト名を、データ構造で定められた一般的なオブジェ
クトと一致させるように努める。そして、もし見つかれ
ば、前記特定のオブジェクトは一般的なオブジェクトに
基づいてインスタンス化される。同様に、事象との関連
づけがステップ312で検査されると、従属関係解釈機
能230は所要のメソッドに関するオブジェクトを探索
し、もしそれが見つからなければ、現在のオブジェクト
がメソッド又は属性を継承することができる全てのスー
パークラスのオブジェクトを検査する。
ェクトのインスタンスを作る能力が含まれる。これはス
テップ302に続いて起こり、もしデータ構造で特定の
オブジェクトが見つからなければ、システムは、オブジ
ェクト名を、データ構造で定められた一般的なオブジェ
クトと一致させるように努める。そして、もし見つかれ
ば、前記特定のオブジェクトは一般的なオブジェクトに
基づいてインスタンス化される。同様に、事象との関連
づけがステップ312で検査されると、従属関係解釈機
能230は所要のメソッドに関するオブジェクトを探索
し、もしそれが見つからなければ、現在のオブジェクト
がメソッド又は属性を継承することができる全てのスー
パークラスのオブジェクトを検査する。
【0039】オブジェクト従属関係解釈機能230は前
もって必要な事象、又は事象定義で定められた事前事象
を検出する能力も有する。オブジェクト従属関係解釈機
能230が事前事象を検出すると、その時点の事象の処
理は延期され、前もって必要な事象のどれかが最初に処
理される。識別された事前事象に関してはどの事前事象
も当該現在の事象の前に処理されるので、事前事象の処
理は反復される。これらの事象の各々の処理は前記識別
されたステップにより行なわれる。
もって必要な事象、又は事象定義で定められた事前事象
を検出する能力も有する。オブジェクト従属関係解釈機
能230が事前事象を検出すると、その時点の事象の処
理は延期され、前もって必要な事象のどれかが最初に処
理される。識別された事前事象に関してはどの事前事象
も当該現在の事象の前に処理されるので、事前事象の処
理は反復される。これらの事象の各々の処理は前記識別
されたステップにより行なわれる。
【0040】本発明は従来の技術よりもかなりすぐれた
利点を提供する。オブジェクト・データ構造及びオブジ
ェクト従属関係解釈機能の使用はどちらもオブジェク
ト、事象及び従属関係の仕様を簡略化し、ソフトウェア
・システムの保守に必要な高速処理を可能にする。
利点を提供する。オブジェクト・データ構造及びオブジ
ェクト従属関係解釈機能の使用はどちらもオブジェク
ト、事象及び従属関係の仕様を簡略化し、ソフトウェア
・システムの保守に必要な高速処理を可能にする。
【0041】
【発明の効果】本発明によれば、大規模なソフトウェア
の保守の問題の解決にオブジェクト指向手法が適用され
る。
の保守の問題の解決にオブジェクト指向手法が適用され
る。
【図1】ソフトウェア・コンポーネントの従属関係の例
を表わす従属ネットワークを示す図である。
を表わす従属ネットワークを示す図である。
【図2】前記コンポーネントのオブジェクト及び関連メ
ッセージの概要図である。
ッセージの概要図である。
【図3】オブジェクト継承の概要図である。
【図4】本発明のシステムの主要なコンポーネントを示
すブロック図である。
すブロック図である。
【図5】本発明によるオブジェクト従属関係解釈機能の
処理ステップを示す流れ図である。
処理ステップを示す流れ図である。
100 オブジェクト 110 データ記述 112 機能 114 機能 116 メッセージ 120 オブジェクトA 122 オブジェクトB 124 オブジェクトC 210 ソース・ファイル 220 構文解析機能 230 オブジェクト従属関係解釈機能 231 オブジェクト・データ構造/永続ディスク・フ
ァイル
ァイル
Claims (13)
- 【請求項1】オブジェクト間のメッセージ引渡しを管理
する情報処理システムであって、 複数の状態と、このオブジェクトが従属する0、1又は
2以上の従属オブジェクトのリストを含む複数の属性
と、各々が識別子を有し前記処理システムにより実行さ
れる動作を指定する複数のメソッドと、を有するオブジ
ェクト、及び複数の状態を有する事象を記憶する記憶手
段、 前記システムを開始し、最初のオブジェクト及び最初の
事象を決定する初期化手段、 前記従属オブジェクトに基づいて、前記最初のオブジェ
クト及び識別された目標オブジェクトが従属する目標オ
ブジェクトを反復して識別し、前記最初の事象を、前記
事象を前記最初のオブジェクトに引渡す前に、全ての前
記識別された目標オブジェクトに引渡す従属関係解釈手
段、 前記最初の事象を前記目標オブジェクトに引渡し、前記
目標オブジェクトの状態を検査して前記事象の状態が満
たされるかどうかを判定する手段を含む引渡し手段、 もし前記事象の状態が満たされれば、前記事象に対応す
るメソッドが当該オブジェクトに関連するかどうかを判
定するために前記目標オブジェクトのメソッドを検査す
る手段、及びもし前記検査する手段が前記事象に対応す
るメソッドを見つければ前記メソッドを実行するための
処理手段を含む情報処理システム。 - 【請求項2】前記オブジェクトのソース・コード記述を
記憶するオブジェクト記憶手段、 前記事象のソース・コード記述を記憶する事象記憶手
段、 前記オブジェクト及び事象のソース・コード記述を中間
言語表示に変換する構文解析手段、及び変換された前記
オブジェクト及び事象を前記記憶手段内のデータ構造に
構築するデータ構造手段を更に含む請求項1の情報処理
システム。 - 【請求項3】前記オブジェクト定義は属性及びメソッド
を有する一般的なオブジェクトを含み前記最初の又は目
標オブジェクトに類似の一般的なオブジェクトを識別し
且つ前記最初の又は目標オブジェクトの特性を有する前
記一般的なオブジェクトのインスタンスを生成するオブ
ジェクト・インスタンス化手段を含む請求項2の情報処
理システム。 - 【請求項4】前記インスタンスは前記一般的なオブジェ
クトから属性及びメソッドを継承する請求項3の情報処
理システム。 - 【請求項5】複数のソフトウェア・ソース・ファイルか
らソフトウェア・オブジェクトの最新のバージョンを生
成するソフトウェア保守システムであって、 前記ソフトウェア・オブジェクトの保守に必要とされ各
々が事象識別子及び1以上の状態を有する事象を記憶す
る事象記憶手段、 各々がオブジェクト識別子と、現在のオブジェクトが従
属する、即ちソース・ファイルが関連する少なくとも1
つの、0、1又は2以上の従属オブジェクトから成るソ
フトウェア・オブジェクトを表わす従属オブジェクトを
含む複数の属性と、複数の状態と、前記保守システムに
より実行される動作を記述する複数のメソッドと、を有
するオブジェクトの定義を記憶するオブジェクト記憶手
段、 オペレータが選択した最初のオブジェクト及び最初の事
象を識別するためのオペレータ対話手段、 前記最初のオブジェクト及びその従属オブジェクトが従
属する目標オブジェクトを反復して識別する従属関係解
釈手段、 前記最初の事象を前記目標オブジェクトに引渡すための
引渡し手段を含み、前記引渡し手段は前記目標オブジェ
クトの状態を前記事象の状態で検査する手段、 もし前記事象の状態が満たされれば、前記目標オブジェ
クトが前記事象に一致する関連メソッドを有するかどう
かを判定するために前記目標オブジェクトのメソッドを
検査する手段、及びもし関連する事象が識別されれば、
前記関連メソッドを処理するための処理手段を含むソフ
トウェア保守システム。 - 【請求項6】前記事象記憶手段及び前記オブジェクト記
憶手段は第一のアドレスで始まるシステム・ランダム・
アクセス・メモリを含み、 前記事象記憶手段及び前記オブジェクト記憶手段にある
データを不揮発性システム記憶装置に複写するための不
揮発性システム記憶手段、及び前記第一のアドレスが変
らないように前記不揮発性記憶手段から前記事象記憶手
段及び前記オブジェクト記憶手段にデータを複写する手
段を含む請求項5のソフトウェア保守システム。 - 【請求項7】事象定義を入力する事象データ入力手段、
及びオブジェクト定義を入力するオブジェクト・データ
入力手段を更に含む請求項6のソフトウェア保守システ
ム。 - 【請求項8】前記事象データ入力手段及び前記オブジェ
クト・データ入力手段はテキスト入力システムを含み、 前記テキストの事象及びオブジェクト・データを中間言
語に変換する構文解析手段、及び前記中間言語を前記ラ
ンダム・アクセス・メモリ内の前記オブジェクト及び事
象データ構造に変換するデータ構造生成手段を含む請求
項6のソフトウェア保守システム。 - 【請求項9】前記オブジェクト定義は属性及びメソッド
を有する一般的なオブジェクトを含み、 前記最初の又は目標オブジェクトに類似の一般的なオブ
ジェクトを識別し、前記最初の又は目標オブジェクトの
特性を有する前記一般的なオブジェクトのインスタンス
を生成するオブジェクト・インスタンス化手段を含む請
求項8のソフトウェア保守システム。 - 【請求項10】前記インスタンスは前記一般的なオブジ
ェクトから属性及びメソッドを継承する請求項9のソフ
トウェア保守システム。 - 【請求項11】前記事象は前記事象の前にオブジェクト
に用いねばならない前もって必要な事象を含む請求項5
のソフトウェア保守システム。 - 【請求項12】前記事象状態は引渡し状態、事前適用状
態及び事後適用状態を含み、前記事前適用又は事後適用
状態の障害は誤りメッセージを生成させる請求項5のソ
フトウェア保守システム。 - 【請求項13】前記状態はオブジェクト存在、オブジェ
クト不在、オブジェクト構築、無効又は無状態のうちの
どれかを表わす請求項12のソフトウェア保守システ
ム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64480491A | 1991-01-22 | 1991-01-22 | |
US644804 | 1991-01-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0561683A true JPH0561683A (ja) | 1993-03-12 |
JPH0792748B2 JPH0792748B2 (ja) | 1995-10-09 |
Family
ID=24586399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4020744A Expired - Lifetime JPH0792748B2 (ja) | 1991-01-22 | 1992-01-10 | オブジェクトに基づく情報処理システム及びソフトウェア保守システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5493682A (ja) |
EP (1) | EP0496494A3 (ja) |
JP (1) | JPH0792748B2 (ja) |
BR (1) | BR9200055A (ja) |
CA (1) | CA2059577A1 (ja) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193180A (en) | 1991-06-21 | 1993-03-09 | Pure Software Inc. | System for modifying relocatable object code files to monitor accesses to dynamically allocated memory |
US5539870A (en) * | 1992-10-05 | 1996-07-23 | International Business Machines Corporation | Computerized system and process for interactively managing a distributed database system |
US5729746A (en) * | 1992-12-08 | 1998-03-17 | Leonard; Ricky Jack | Computerized interactive tool for developing a software product that provides convergent metrics for estimating the final size of the product throughout the development process using the life-cycle model |
US5325533A (en) * | 1993-06-28 | 1994-06-28 | Taligent, Inc. | Engineering system for modeling computer programs |
CA2128387C (en) * | 1993-08-23 | 1999-12-28 | Daniel F. Hurley | Method and apparatus for configuring computer programs from available subprograms |
US5787440A (en) * | 1994-03-10 | 1998-07-28 | Crossties Software Corp. | Object oriented architecture with bidirectional linking of relationships between objects |
JPH07262025A (ja) * | 1994-03-18 | 1995-10-13 | Fujitsu Ltd | 実行制御システム |
US5613063A (en) * | 1994-07-01 | 1997-03-18 | Digital Equipment Corporation | Method and apparatus for checking validity of memory operations |
US6704744B1 (en) * | 1994-12-07 | 2004-03-09 | Next Computer, Inc. | Method and apparatus for mapping objects to multiple tables of a database |
SE504050C2 (sv) | 1995-02-28 | 1996-10-28 | Ericsson Telefon Ab L M | Nätanordning och förfarande för att i ett kommunikationssystem koppla upp en förbindelse mellan två punkter genom utnyttjande av ett antal förbindelseobjekt |
US5867713A (en) * | 1995-04-05 | 1999-02-02 | International Business Machines Corporation | Committing an install plan object for the network installation of application programs |
US5805891A (en) * | 1995-07-26 | 1998-09-08 | International Business Machines Corporation | System and method for managing maintenance of computer software |
US6112253A (en) * | 1995-10-12 | 2000-08-29 | International Business Machines Corporation | Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs |
US5867709A (en) * | 1995-10-18 | 1999-02-02 | Kapre Software, Inc. | Method and system for reusing customizations to a software product |
US6044377A (en) * | 1995-11-07 | 2000-03-28 | Sun Microsystem, Inc. | User-defined object type and method of making the object type wherein a file associated with a rule is invoked by accessing the file which generates code at run time |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US6298476B1 (en) * | 1995-12-04 | 2001-10-02 | International Business Machines Corporation | Object oriented software build framework mechanism |
US5758349A (en) * | 1995-12-27 | 1998-05-26 | International Business Machines Corporation | Process and system for run-time inheritance and disinheritance of methods and data |
US5966715A (en) * | 1995-12-29 | 1999-10-12 | Csg Systems, Inc. | Application and database security and integrity system and method |
US6016498A (en) * | 1996-03-04 | 2000-01-18 | Bakke; Stephen Peter | Object oriented architecture with bidirectional linking of relationships between objects |
US5706510A (en) * | 1996-03-15 | 1998-01-06 | Hewlett-Packard Company | Zymbolic history management system |
EP0888585A1 (en) * | 1996-03-19 | 1999-01-07 | Massachusetts Institute Of Technology | Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions |
US5835777A (en) * | 1996-03-20 | 1998-11-10 | Hewlett-Packard Company | Method of automatically generating a software installation package |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US5721824A (en) * | 1996-04-19 | 1998-02-24 | Sun Microsystems, Inc. | Multiple-package installation with package dependencies |
US5790796A (en) * | 1996-06-14 | 1998-08-04 | Symantec Corporation | Polymorphic package files to update software components |
US5708774A (en) * | 1996-07-23 | 1998-01-13 | International Business Machines Corporation | Automated testing of software application interfaces, object methods and commands |
US6243763B1 (en) | 1996-11-12 | 2001-06-05 | International Business Machines Corporation | Method for sending a message to a group and the group broadcasts the message to its members or references within an object-oriented system |
US6802061B1 (en) * | 1996-12-12 | 2004-10-05 | Microsoft Corporation | Automatic software downloading from a computer network |
US6263376B1 (en) | 1997-02-24 | 2001-07-17 | Novell, Inc. | Generic run-time binding interpreter |
EP1019807B1 (en) | 1997-02-27 | 2017-04-05 | Siebel Systems, Inc. | Method of migrating to a successive level of a software distribution incorporating local modifications |
US5974254A (en) * | 1997-06-06 | 1999-10-26 | National Instruments Corporation | Method for detecting differences between graphical programs |
WO1998057260A1 (en) * | 1997-06-13 | 1998-12-17 | True Software, Inc. | Systems and methods for scanning and modeling dependencies in software applications |
US6990458B2 (en) * | 1997-08-28 | 2006-01-24 | Csg Systems, Inc. | System and method for computer-aided technician dispatch and communication |
US6167521A (en) * | 1997-08-29 | 2000-12-26 | International Business Machines Corporation | Securely downloading and executing code from mutually suspicious authorities |
US6117187A (en) * | 1997-09-30 | 2000-09-12 | Hewlett-Packard Company | Automatic generation of a software installation package |
US6898782B1 (en) | 1997-10-14 | 2005-05-24 | International Business Machines Corporation | Reference-based associations using reference attributes in an object modeling system |
US6182277B1 (en) * | 1998-04-15 | 2001-01-30 | Oracle Corporation | Methods and apparatus for declarative programming techniques in an object oriented environment |
US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
US6351752B1 (en) | 1998-07-08 | 2002-02-26 | Ncr Corporation | Method and apparatus for detecting changes to a collection of objects |
US6226792B1 (en) * | 1998-10-14 | 2001-05-01 | Unisys Corporation | Object management system supporting the use of application domain knowledge mapped to technology domain knowledge |
US7526468B2 (en) * | 1999-01-08 | 2009-04-28 | Computer Associates Think, Inc. | System and method for recursive path analysis of DBMS procedures |
US8335775B1 (en) * | 1999-08-05 | 2012-12-18 | Oracle International Corporation | Versioning in internet file system |
CA2409362A1 (en) * | 2000-05-17 | 2001-11-22 | Shlomo Rabinovitch | Methods for modularizing network software |
US8261255B1 (en) | 2000-11-07 | 2012-09-04 | International Business Machines Corporation | Method, system, and computer program product for maintaining software on a computer system with automatic dependency resolution |
KR100388486B1 (ko) * | 2000-12-14 | 2003-06-25 | 한국전자통신연구원 | 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법 |
US20020087734A1 (en) * | 2000-12-29 | 2002-07-04 | Marshall Donald Brent | System and method for managing dependencies in a component-based system |
DE10105454A1 (de) * | 2001-02-07 | 2002-08-29 | Bosch Gmbh Robert | Verfahren zur automatischen Ergänzung von Software |
US7290243B1 (en) * | 2001-02-28 | 2007-10-30 | Apple Inc. | Method and apparatus for application building using build styles |
US6990638B2 (en) * | 2001-04-19 | 2006-01-24 | International Business Machines Corporation | System and method for using shading layers and highlighting to navigate a tree view display |
US6765597B2 (en) | 2001-04-19 | 2004-07-20 | International Business Machines Corporation | System and method for using layer bars to indicate levels within non-indented tree view control |
US7146601B2 (en) * | 2001-10-12 | 2006-12-05 | Sun Microsystems, Inc. | Method and apparatus for deriving functions from other functions in a programming language |
AU2002357108A1 (en) * | 2001-12-06 | 2003-07-09 | New York University | Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, recognition and compression |
US20030191870A1 (en) * | 2002-04-02 | 2003-10-09 | Dominic Duggan | Method and apparatus for updating software libraries |
US7505872B2 (en) * | 2002-09-11 | 2009-03-17 | International Business Machines Corporation | Methods and apparatus for impact analysis and problem determination |
US7240325B2 (en) * | 2002-09-11 | 2007-07-03 | International Business Machines Corporation | Methods and apparatus for topology discovery and representation of distributed applications and services |
US6847970B2 (en) | 2002-09-11 | 2005-01-25 | International Business Machines Corporation | Methods and apparatus for managing dependencies in distributed systems |
US7096459B2 (en) * | 2002-09-11 | 2006-08-22 | International Business Machines Corporation | Methods and apparatus for root cause identification and problem determination in distributed systems |
US7334222B2 (en) * | 2002-09-11 | 2008-02-19 | International Business Machines Corporation | Methods and apparatus for dependency-based impact simulation and vulnerability analysis |
US7555749B2 (en) * | 2003-03-10 | 2009-06-30 | Microsoft Corporation | Software updating system and method |
US7584467B2 (en) * | 2003-03-17 | 2009-09-01 | Microsoft Corporation | Software updating system and method |
US7177865B2 (en) * | 2003-06-30 | 2007-02-13 | Sap Ag | Data synchronization method and system |
US7379925B2 (en) * | 2003-07-25 | 2008-05-27 | New York University | Logic arrangement, data structure, system and method for multilinear representation of multimodal data ensembles for synthesis, rotation and compression |
US20050144615A1 (en) * | 2003-12-29 | 2005-06-30 | Shu-Chuan Chen | Modularized custom-developed software package producing method and system |
JP2007518199A (ja) * | 2004-01-13 | 2007-07-05 | ニューヨーク・ユニバーシティ | 多重線形独立要素分析を使用した画像認識の方法、システム、記憶媒体、及びデータ構造 |
US7496912B2 (en) * | 2004-02-27 | 2009-02-24 | International Business Machines Corporation | Methods and arrangements for ordering changes in computing systems |
US7506332B2 (en) | 2004-03-24 | 2009-03-17 | Sap Ag | Object set optimization using dependency information |
GB2413409B (en) * | 2004-04-23 | 2006-10-11 | Oracle Int Corp | Data storage method and system |
US20060064681A1 (en) * | 2004-09-23 | 2006-03-23 | Robinson Douglas B | Method and system for verifying makefile accuracy |
US7921076B2 (en) * | 2004-12-15 | 2011-04-05 | Oracle International Corporation | Performing an action in response to a file system event |
US8131766B2 (en) * | 2004-12-15 | 2012-03-06 | Oracle International Corporation | Comprehensive framework to integrate business logic into a repository |
US8949455B2 (en) * | 2005-11-21 | 2015-02-03 | Oracle International Corporation | Path-caching mechanism to improve performance of path-related operations in a repository |
US8074213B1 (en) | 2006-08-11 | 2011-12-06 | Symantec Operating Corporation | Automatic software updates for computer systems in an enterprise environment |
US8635599B2 (en) * | 2006-08-18 | 2014-01-21 | International Business Machines Corporation | System and method for evaluating adherence to a standardized process |
US7636873B2 (en) * | 2006-09-15 | 2009-12-22 | International Business Machines Corporation | Enhancement of assured event delivery mechanism to eliminate external XA store requirement |
US9600767B1 (en) * | 2006-10-06 | 2017-03-21 | Hrl Laboratories, Llc | System, method, and computer program product for generating a single software code based on a description of a distributed architecture |
US8555247B2 (en) | 2006-10-13 | 2013-10-08 | International Business Machines Corporation | Systems and methods for expressing temporal relationships spanning lifecycle representations |
US8037471B2 (en) * | 2006-11-16 | 2011-10-11 | International Business Machines Corporation | Systems and methods for constructing relationship specifications from component interactions |
US8229778B2 (en) | 2006-11-16 | 2012-07-24 | International Business Machines Corporation | Constructing change plans from component interactions |
US8745584B2 (en) * | 2007-05-03 | 2014-06-03 | International Business Machines Corporation | Dependency injection by static code generation |
US9639331B2 (en) | 2008-07-09 | 2017-05-02 | International Business Machines Corporation | Service interface creation and modification for object-oriented services |
US8291401B2 (en) * | 2008-08-07 | 2012-10-16 | International Business Machines Corporation | Processing symbols associated with shared assemblies |
US8453141B1 (en) | 2009-01-29 | 2013-05-28 | Symantec Corporation | High performance install update |
US8005929B1 (en) | 2009-02-27 | 2011-08-23 | Symantec Operating Corporation | Software update checking method |
US8347294B2 (en) * | 2009-10-14 | 2013-01-01 | Oracle International Corporation | Automated administration using composites of atomic operations |
US8677339B2 (en) * | 2010-04-13 | 2014-03-18 | International Business Machines Corporation | Component relinking in migrations |
US8490054B2 (en) | 2011-09-23 | 2013-07-16 | The United States Of America As Represented By The Secretary Of The Army | Software and related software tracking during software modification |
US20150006350A1 (en) * | 2013-06-28 | 2015-01-01 | D.E. Shaw & Co., L.P. | Electronic Trading Auction with Randomized Acceptance Phase and Order Execution |
US20150006349A1 (en) * | 2013-06-28 | 2015-01-01 | D. E. Shaw & Co., L.P. | Electronic Trading Auction With Orders Interpreted Using Future Information |
US10769113B2 (en) | 2016-03-25 | 2020-09-08 | Microsoft Technology Licensing, Llc | Attribute-based dependency identification for operation ordering |
US11829751B1 (en) * | 2020-12-23 | 2023-11-28 | Synopsys, Inc. | System and method for automatically capturing source code and associated artifacts for static analysis |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4330822A (en) * | 1971-09-02 | 1982-05-18 | Burroughs Corporation | Recursive system and method for binding compiled routines |
US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
US4809170A (en) * | 1987-04-22 | 1989-02-28 | Apollo Computer, Inc. | Computer device for aiding in the development of software system |
US4951192A (en) * | 1987-06-04 | 1990-08-21 | Apollo Computer, Inc. | Device for managing software configurations in parallel in a network |
US5084813A (en) * | 1988-04-20 | 1992-01-28 | Kabushiki Kaisha Toshiba | Rule based system for synthesizing a program suited for a target system in response to an input target system specification |
US4953080A (en) * | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
US5079695A (en) * | 1988-04-25 | 1992-01-07 | Hewlett-Packard Company | Object management facility which includes a snapshot facility for providing data transfer between two objects |
US5130924A (en) * | 1988-06-30 | 1992-07-14 | International Business Machines Corporation | System for defining relationships among document elements including logical relationships of elements in a multi-dimensional tabular specification |
US5093915A (en) * | 1988-11-02 | 1992-03-03 | Xerox Corporation | Method for selectively loading bootable fiber to control apparatus based upon the corresponding bootable attributes |
-
1992
- 1992-01-07 EP EP19920300112 patent/EP0496494A3/en not_active Withdrawn
- 1992-01-10 BR BR929200055A patent/BR9200055A/pt unknown
- 1992-01-10 JP JP4020744A patent/JPH0792748B2/ja not_active Expired - Lifetime
- 1992-01-17 CA CA002059577A patent/CA2059577A1/en not_active Abandoned
-
1994
- 1994-10-26 US US08/329,792 patent/US5493682A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5493682A (en) | 1996-02-20 |
JPH0792748B2 (ja) | 1995-10-09 |
CA2059577A1 (en) | 1992-07-23 |
BR9200055A (pt) | 1992-09-08 |
EP0496494A2 (en) | 1992-07-29 |
EP0496494A3 (en) | 1993-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0561683A (ja) | オブジエクトに基づく情報処理システム及びソフトウエア保守システム | |
Ierusalimschy et al. | Lua—an extensible extension language | |
US7346897B2 (en) | System for translating programming languages | |
US8332828B2 (en) | System for translating diverse programming languages | |
US5953526A (en) | Object oriented programming system with displayable natural language documentation through dual translation of program source code | |
US7454745B2 (en) | Automated semantic-based updates to modified code base | |
US20080082959A1 (en) | Data processing system and method | |
Boyland et al. | Parasitic methods: An implementation of multi-methods for Java | |
US8656372B2 (en) | System for translating diverse programming languages | |
CN110149800B (zh) | 一种用于处理与源程序的源代码相关联的抽象语法树的装置 | |
US5872977A (en) | Object-oriented method and apparatus for creating a makefile | |
US9600243B2 (en) | Sharing of first class objects across multiple interpreted programming languages | |
US20150242194A1 (en) | System for Translating Diverse Programming Languages | |
US20050065953A1 (en) | System and method for changing defined elements in a previously compiled program using a description file | |
JPH0836494A (ja) | 動的拡張可能オブジェクト用のタイプ・セーフ・フレームワークのための方法及び装置 | |
US6118446A (en) | User interface language to class library compiler | |
CA2345256A1 (en) | Text object compilation method and system | |
Küster et al. | Comparing two model transformation approaches | |
US20030115571A1 (en) | Construction of a software application from a plurality of programming languages | |
US7512899B1 (en) | Method and apparatus for a unified user interface | |
Constantinides et al. | A framework to address a two-dimensional composition of concerns | |
DeLine et al. | Lessons on converting batch systems to support interaction: Experience report | |
Boujarwah et al. | Testing syntax and semantic coverage of Java language compilers | |
Tenma et al. | A system for generating language-oriented editors | |
WO2008015110A2 (en) | Methods, apparatus and computer programs for modelling computer programs |