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
Application number
JP4020744A
Other languages
English (en)
Other versions
JPH0792748B2 (ja
Inventor
Kristopher L Tyra
クリストフア・リー・タイラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0561683A publication Critical patent/JPH0561683A/ja
Publication of JPH0792748B2 publication Critical patent/JPH0792748B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

(57)【要約】 【目的】この発明の目的は、大規模なソフトウェアの保
守の問題の解決にオブジェクト指向手法を適用すること
にある。 【構成】ソフトウェアの実行可能なバージョンをコンポ
ーネント・オブジェクト及び事象に基づいて自動的に生
成するコンピュータ・システム及び方法である。カプセ
ル化、継承及びメッセージ引渡しに関するオブジェクト
指向言語の概念を用いて指定及び実行ステップが簡易化
される。オブジェクト従属関係解釈機能が該オブジェク
トへの事象の引渡しを反復して制御するために設けられ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ・ソフトウ
ェアのオブジェクトを保守するための装置及び方法に関
し、特にオブジェクト指向概念に基づいてシステム・コ
ンポーネントを表わすオブジェクト及びこれらのコンポ
ーネントに適用されるプロセスを用いるシステムに関す
る。
【0002】
【従来の技術】ソフトウェア・システムは、実行可能な
システムを形成するようにコンパイルされ相互に連結さ
れる複数のソース・コード・プログラムをつくることに
より構築される。ソフトウェア保守とは、ソフトウェア
の誤りを修正し、又は機能を高めるもしくは変更するよ
うにソフトウェアを変更し適応させるプロセスのことで
ある。ソフトウェア保守は、実行可能なソフトウェア・
システム(実行バージョン)が前記コンポーネントのソ
ース・プログラムに対して行われた全ての変更を包含す
ることを保証しうる。実行バージョンの有効性は、ソー
ス・プログラムの1つが変更される毎にソフトウェア・
システムの全てのコンポーネントをコンパイルし直し且
つ連結し直すことにより保証することができる。しかし
ながら、ソフトウェア・システムのサイズが大きくなる
につれて、この手法は次第に非実際的になる。
【0003】オペレーティング・システム・ソフトウェ
アのような大規模なソフトウェア・システム及び重要な
アプリケーション・プログラムは数百、数千又は数万の
別々のソース・コード・プログラムから成るかも知れな
い。これらのソース・コード・プログラムは、ソフトウ
ェア・システムの構成の設計者が指定したように相互に
関連する。個々のソフトウェア・システムの相互関連は
階層従属グラフとして示すことができる。例えば、図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番目に頻繁に使用されるプロセス
は、実行可能なモジュールを作るためのオブジェクト・
コード・ファイルの結合即ち連係編集である。この結合
ステップはオブジェクト・コード・ファイルを相互に関
連づけるのに必要なプロセスを含み、変数、メモリ・ロ
ケーション及び他の要素との関連が完全に解決されるよ
うにするので、その結果生じたモジュールはコンピュー
タ・システムにロードし実行することができる。
【0005】大規模なソフトウェア・システムでは、ソ
ース・プログラムの変更、又はプログラム間の関係を定
めるソフトウェア構成の変更に、必要な範囲でだけコン
パイル、結合及び他のプロセスを実行することが望まし
い。必要なプロセスだけを手動で実行する試みはソフト
ウェア・システムのサイズが大きくなるにつれて誤り及
び欠落が生じやすい。ソフトウェア保守のために必要な
変更を自動的に決定し所要のプロセスを実行する自動化
ツールが開発されている。前記ツールの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をコンパイルする。
【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ファイルの保守に障害をもたらす。
【0009】幾つかの他の手法及び提案された代替手法
に関する説明は米国特許第4558413号に記載され
ている。前記米国特許のシステムはローカル・エリア・
ネットワーク上の一連のワークステーションにあるソー
ス・プログラムに基づいたソフトウェア・システムをア
センブルするように設計されている。前記米国特許のシ
ステムは、より効率的な大規模なソフトウェア製品の管
理を分散環境で提供するように要求されるmakeユーティ
リティへの拡張を提供する。しかしながら、前記米国特
許のシステムは記述子ファイル内の完全な構成(システ
ム・モデル)の仕様を必要とする。
【0010】オブジェクト指向ソフトウェア・システム
及びオブジェクト指向プログラミング言語は大規模なシ
ステム・ソフトウェアの問題の解決に次第に適用されつ
つある。オブジェクト指向アプローチの目的は、より小
さく、より容易に管理できるように問題を細分化するこ
とにある。オブジェクト指向言語及びシステムはオブジ
ェクトに関してのプログラミング及び開発を促進する。
当該オブジェクトの管理に必要なデータ及び(メソッド
として知られる)プロセスに単一の定義を与えることに
よってオブジェクトはカプセル化(encapsulation)を実
現する。
【0011】オブジェクト指向言語システムのもう1つ
の特性は継承(inheritance) の概念である。継承は1つ
のオブジェクトが他のオブジェクトからのデータ又はメ
ソッドの継承即ち使用を可能にする。このように、より
一般的なオブジェクト定義からの僅かな変更を定めるこ
とによって、より詳細なオブジェクトを定義することが
できる。
【0012】オブジェクトのカプセル化にはオブジェク
ト・メソッドの1つの使用によるオブジェクト・データ
の操作又は観察が必要である。各オブジェクトは目に見
えるインタフェースを他のオブジェクトに提供する動作
のセットが与えられる。目に見えるインタフェースの仕
様に合致するメッセージが当該インタフェースで受取ら
れ処理される場合には、オブジェクト間の通信はメッセ
ージ引渡し(messagepassing)によって行われる。オブジ
ェクトに引渡されたメッセージは前記オブジェクトによ
り分析される。オブジェクト自体はメソッドを選択し、
選択したメソッドにより当該メッセージに反応する。
【0013】オブジェクト指向概念はインスタンス化の
概念によってかなりのオブジェクトの再使用を可能にす
る。インスタンス化は、オブジェクトのコピー又はイン
スタンスが一般的なオブジェクトの記述に基づいて、又
は継承の原理を用いる別のオブジェクトに基づいて生成
されることを可能にする。オブジェクトの特定のインス
タンスはそれ自身のデータを有し、一般的なオブジェク
ト定義における特定のデータをこえることができる。
【0014】継承は、オブジェクト・インスタンスが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に多重従属していると言われる。
【0016】オブジェクト指向アプローチは大規模なソ
フトウェア・システムの保守のような大きな問題を、細
分化するための重要な方法を提供する。カプセル化及び
継承の概念は前記大きな問題を解決する強力なツールを
提供する。
【0017】
【発明が解決しようとする課題】本発明の目的は、大規
模なソフトウェアの保守の問題の解決にオブジェクト指
向手法を適用することにある。
【0018】
【課題を解決するための手段】ソフトウェア・システム
は、最下位のレベルで物理的なソース・プログラム・フ
ァイルを表わす複数の他のオブジェクトから成るオブジ
ェクトとして、表わすことができる。更に、ソフトウェ
ア・オブジェクトに適用されるプロセスは、前記オブジ
ェクト内のメソッドとして、それ自身定義することがで
きる。特定のソース・プログラム・ファイルに対するプ
ロセスの適用はメッセージ引渡し方式を用いて達成でき
る。前記処理を制御するために、メッセージはそれ自身
がシステム・オブジェクトに対するプロセスの適用を制
御する属性を備えたオブジェクトとして生成される。こ
れらの改良されたメッセージは本発明のシステムでは事
象(event) として知られる。本発明はオブジェクト従属
関係解釈機能を含み、オブジェクト関係を分析してこれ
らの関係から要求された経路が事象に指定されることを
保証する。
【0019】よって、本発明により、多数のソフトウェ
ア・コンポーネントから成る大規模なソフトウェア・シ
ステムの保守に関する手法の問題が解決される。
【0020】
【実施例】本発明は定義されたソフトウェア・オブジェ
クト及び事象に基づいたソフトウェア・システムを保守
するシステム及び方法を提供する。前記システムはソフ
トウェア・オブジェクト及び事象を定義する能力を提供
し、オブジェクトを表わすデータ構造の生成、並びに事
象プロセスを、最終的なソフトウェア・システムの生成
に必要なソフトウェア・オブジェクトに適用するための
オブジェクトの従属関係及び構造の解釈的分析を行う。
【0021】本発明によるシステムの概要は図4に示
す。ソース・ファイル210はオブジェクト及び事象の
定義を含む。良好な実施例では、オブジェクト及び事象
の定義は、オブジェクトの属性及びメソッドの定義を可
能にする記述子を有する一連のテキスト・ファイルとし
て生成される。しかしながら、本発明はテキストに基づ
いたソース・ファイルの使用に限定されず、図形インタ
フェースにより生成されるオブジェクト定義ファイル又
は類似の手法に等しく適用することができる。良好な実
施例では、ソフトウェア・オブジェクトはオブジェクト
及び1以上の属性に名称を与えるオブジェクト記述子を
含む。オブジェクト属性は、変数に対する値の割当て、
オブジェクト従属関係の明細、事象とオブジェクト・メ
ソッドとの関連、又はオブジェクト・メソッドを含むプ
ロセス・ステートメントの定義を含むことができる。従
属リストの提供は本発明にとって特に重要である。従属
リストの属性はその時点のオブジェクトが従属するオブ
ジェクトを指定する。例えば、オブジェクト・コードの
オブジェクトは1以上のソース・コード・オブジェクト
又はライブラリ・オブジェクトに従属するかも知れな
い。
【0022】オブジェクト・メソッドは現在のソフトウ
ェア・オブジェクトを生成するように処理されねばなら
ない実行可能なステートメントを定める。前記メソッド
はその時点のオブジェクトを生成するために従属オブジ
ェクト及び変数により何が実行されねばならないかを指
定する。従って、前記の実施例では、オブジェクト・コ
ードのオブジェクトを生成するメソッドは従属するソー
ス・コード・ファイルのコンパイルを必要とするかも知
れない。前記メソッドは、異なるタイプのソース・コー
ド・ファイルの認識及び当該認識の結果として適切なコ
ンパイラ又はコンパイラ・オプションの適用ができるよ
うに一般化することができる。
【0023】一般的なオブジェクトは共通の状況につい
て定めることができる。例えば、C言語ソース・ファイ
ルに関するオブジェクト・ファイルの生成は共通のコン
パイル・ステップが必要である。一般的なオブジェクト
は所要のオブジェクト・メソッドを指定するC言語オブ
ジェクト・コード・ファイルについて定義することがで
きる。システムが一般的なオブジェクトの使用を必要と
するとき、前記オブジェクトは特定のオブジェクト名に
ついてインスタンス化され、もし必要なら、属性はオブ
ジェクト従属を与えるように指定変更される。オブジェ
クト・コード・ファイル及びソース・コード・ファイル
が同じ名称(例えば x1.o及び x1.c)を持つ約定になっ
ている場合、属性の置換えは不要である。
【0024】ソース・ファイルは事象のオブジェクト定
義も含む。前述のように、事象はソフトウェア・オブジ
ェクトに適用されるプロセスを定める。事象名は、メソ
ッド名に対応し、オブジェクトに所要の機能を実行させ
るメッセージとして働く。本発明による事象定義は、ソ
フトウェア保守プロセスを制御するための事象状態 (ev
ent condition)及び前もって必要な事象(prerequisite
event)の提供を含む。事象状態は事象がソフトウェア・
オブジェクトに引渡される前に満たされねばならないソ
フトウェア・オブジェクトの状態を指定する情報であ
る。良好な実施例では、前記状態は、無状態(満たすべ
きオブジェクト状態がないことを意味する)、無効(ソ
フトウェア・オブジェクトがその従属に関して無効であ
るに相違ないことを意味する)、オブジェクト存在(フ
ァイル・システムにオブジェクトが存在するに相違ない
ことを意味する)、オブジェクト不在及びオブジェクト
構築(オブジェクトが(オペレータ(人間)による入力
ではなく)オブジェクト・メソッドを用いて生成された
ことを意味する)を含む。
【0025】前もって必要な事象はこの事象の引渡しが
できる前にオブジェクトに引渡すべき事象を指定する。
【0026】良好な実施例では、もしソフトウェア・オ
ブジェクトに事象を適用することが期待された結果を生
じなければ、検査及び誤り検出を可能にする事前状態及
び事後状態(precondition and post-condition) が事象
オブジェクトに追加して与えられる。従って、例えば、
ソフトウェア・オブジェクトのコンパイル・プロセスの
実行は当該プロセスがオブジェクトを構築する状態を結
果として生じるはずである。もし事後状態の検査が、オ
ブジェクトは当該状態にないということを明らかにすれ
ば誤りが生じるので、システムはオペレータに通知すべ
きである。
【0027】本発明は次にオブジェクト定義及び事象定
義を含むソース・ファイルを構文解析して中間"オブジ
ェクト・アセンブリ(object assembly)" 言語にする構
文解析機能220を含む。オブジェクト・アセンブリ中
間言語は、オブジェクト・データ構造をメモリに構築す
るのに使用できる簡易化されたオブジェクト記述の形式
を提供する。良好な実施例では、オブジェクト・アセン
ブリ中間言語は、オブジェクト、その属性及び状態を定
める一連の1バイト命令コードである。標準的な中間言
語の提供により、本発明は、構文解析機能220によっ
て構文解析されたソース・ファイルを動かし、又は図形
入力もしくは(適切な構文解析機能の使用によりオブジ
ェクト・アセンブリ言語に変換できる)異なるフォーマ
ットのソース・ファイルを定義することができる。
【0028】本発明の次のコンポーネントはオブジェク
ト従属関係解釈機能230である。オブジェクト従属関
係解釈機能230はオブジェクトへの事象引渡しを制御
し適切なメソッドを実行させることによりシステムの動
作を制御する。オブジェクト従属関係解釈機能は各ソフ
トウェア・オブジェクトを評価してその従属関係を決め
る反復プロセスであり、与えられたオブジェクトが評価
される前に全ての下位レベルの従属状態が満たされるこ
とを保証する。オブジェクト従属関係解釈機能は一般的
なオブジェクトの特定のインスタンスをインスタンス化
し且つオブジェクト間の継承特性を管理する責任もあ
る。
【0029】良好な実施例は継承を用いてソフトウェア
のオブジェクト定義セクションで必要な定義数を最小に
する。当該オブジェクトの生成に必要な一般的な従属関
係及びメソッドを有する一般的なオブジェクトを含む一
連のスーパークラスが定義される。これらの一般的なオ
ブジェクトは異なる言語のソース・プログラムをコンパ
イルしその結果生じたオブジェクト・モジュールを相互
に結合するために必要なデータ及びメソッドを含む。
【0030】本発明はオブジェクト分析及びアクセスの
速度を速くするために共有メモリ及びマップド・メモリ
のファイルを利用する。オブジェクト従属関係解釈機能
230はソース・ファイル210を見つけるオブジェク
ト毎にオブジェクト・データ構造を構築するためにオブ
ジェクト・アセンブリ・データを用いる。このデータ構
造はUNIXに基づいたシステムのマップド・メモリ領域に
格納される。マップド・メモリ領域は該メモリ領域に永
続ディスク・ファイル231を保管し且つ当該ファイル
を該メモリの同じメモリ・アドレスに復元する能力を与
える。同じメモリ・アドレスにデータを復元する能力は
ファイルを保管し復元するプロセスを簡単にする。オブ
ジェクト従属関係解釈機能は、ソース・ファイル210
が変更されない限り、マップド・メモリ内のオブジェク
ト・データ・ファイルを動かし続けることができる。こ
れは、構文解析機能220を動作させ且つオブジェクト
従属関係解析機能230がロケーション毎にオブジェク
ト・データを構築することを不要にする。
【0031】事象状態を解釈するとき、オブジェクト従
属関係解釈機能はソース・プログラム・ファイルの最新
の更新の日付を判定できなければならない。従来の技術
の多くのシステムでは、ソフトウェア保守中にソース・
プログラムが参照される毎にこの日付が検査された。こ
のような複数の日付検査は前記ソフトウェア保守システ
ムにおけるオーバーヘッドを大幅に増すとともに処理時
間を遅くする。大きなファイル・システム及びファイル
が隠れている可能性を有するトリー構造を含む大規模な
ソフトウェア環境では、前記反復日付検査は望ましくな
い。本発明は、メモリ内の他の参照の結果をどれも表示
するファイル状況を一度だけ検査することによりこの制
約を取り除く。
【0032】本発明によるソフトウェア保守システムは
次のように動作する。
【0033】コンピュータ・システム設計者はテキスト
編集プログラム、図形編集プログラム、又は他の既知の
装置を用いてオブジェクト及び事象のソース・ファイル
210を構築する。オブジェクト定義は各モジュールの
従属関係を指定することによりシステム・ソフトウェア
構成を指定する。事象オブジェクトはソフトウェア・オ
ブジェクトに適用される全てのプロセス及びそれらの適
用の状態を定めることを含めて定義される。
【0034】ソース・プログラムに変更を加えた後、プ
ログラマ又はオペレータは更新されたシステムの実行可
能なバージョンを生成するためにソフトウェア保守シス
テムの使用を欲することがある。オペレータはソフトウ
ェア保守システムを呼出し、最初の事象及び該事象を用
いることになっているオブジェクトを供給する。良好な
実施例では、デフォルト時の事象及びデフォルト時の最
初のオブジェクトを該オブジェクト及び事象を記述する
ことにより指定することができる。システムは最初にオ
ブジェクト・データ構造231がソース・ファイル21
0に関して無効であるかどうかを判定する。もし無効な
ら、構文解析機能220はソース・ファイルを構文解析
してその結果生じたオブジェクト・アセンブリ中間言語
をオブジェクト従属関係解釈機能230に引渡すために
活動化される。オブジェクト従属関係解釈機能230は
アクセスされ、変更されたオブジェクト・データ構造を
先ず構築する。良好な実施例では、この構造はマップト
・メモリに構築される。図5に示す流れ図に関連して動
作を説明する。最初に、ステップ302で、オブジェク
ト従属関係解釈機能230はオブジェクト・データ構造
内の指定されたオブジェクトを見つけようと試みる。ひ
とたびオブジェクトが見つかれば、従属関係解釈機能2
30は当該オブジェクトの従属関係が存在するかどうか
を判定する検査を行なう。もし従属関係が存在すれば、
現在のオブジェクト状況が、例えばスタックに保管され
る。こうして、ステップ302で最初の従属オブジェク
トが見つかる。オブジェクトを見つけるステップ302
及び従属関係を検査するステップ304は、従属関係が
ないオブジェクトが見つかるまで反復実行される。この
従属関係がないオブジェクトはオブジェクト従属階層に
おける最下位のレベル又はリード・ノードを表わす。
【0035】次にステップ308で、従属関係解釈機能
230はオブジェクトの状態、例えば、それが構築され
ているか、存在しているか、又は無効であるかを判定す
る。次にステップ310で、従属関係解釈機能230は
このオブジェクト状態と事象記述子で指定された状態と
を比較して一致するかどうかを判定する。もし状態が一
致しなければ、事象はこのオブジェクトに引渡されない
ので、親オブジェクトの発見を試みる処理を継続したの
ち、ステップ316の処理に移る。
【0036】もしオブジェクト状態と事象状態が一致す
れば、事象はオブジェクトに引渡される。ステップ31
2で、従属関係解釈機能230はオブジェクト定義がメ
ソッドを指定事象に関連づけるかどうかを判定せねばな
らない。もし事象に関連したメソッドがなければ、ステ
ップ316の処理に移る。もし事象に関連したメソッド
があれば、当該メソッドはステップ314で実行され
る。
【0037】ステップ316はより上位のレベルのオブ
ジェクトへのプロセスの引渡しが据置かれている(defe
r) かどうかを判定する。もし据置かれていれば、この
オブジェクトはもう一度アクセスされ(例えばスタック
から取り除かれ)、追加の従属関係の検査が続行する。
このように、最上位のレベルのオブジェクトの全ての従
属関係が満たされるまで、実行は反復して行なわれる。
最後に、最上位のレベルの事象に対するオブジェクト状
態が検査され且つ最上位のレベルのオブジェクトが同じ
ロジックにより処理される。この時点では、それ以上の
オブジェクトは存在しないから、従属関係解釈機能23
0は終了する。
【0038】良好な実施例を拡張すると一般的なオブジ
ェクトのインスタンスを作る能力が含まれる。これはス
テップ302に続いて起こり、もしデータ構造で特定の
オブジェクトが見つからなければ、システムは、オブジ
ェクト名を、データ構造で定められた一般的なオブジェ
クトと一致させるように努める。そして、もし見つかれ
ば、前記特定のオブジェクトは一般的なオブジェクトに
基づいてインスタンス化される。同様に、事象との関連
づけがステップ312で検査されると、従属関係解釈機
能230は所要のメソッドに関するオブジェクトを探索
し、もしそれが見つからなければ、現在のオブジェクト
がメソッド又は属性を継承することができる全てのスー
パークラスのオブジェクトを検査する。
【0039】オブジェクト従属関係解釈機能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. 【請求項1】オブジェクト間のメッセージ引渡しを管理
    する情報処理システムであって、 複数の状態と、このオブジェクトが従属する0、1又は
    2以上の従属オブジェクトのリストを含む複数の属性
    と、各々が識別子を有し前記処理システムにより実行さ
    れる動作を指定する複数のメソッドと、を有するオブジ
    ェクト、及び複数の状態を有する事象を記憶する記憶手
    段、 前記システムを開始し、最初のオブジェクト及び最初の
    事象を決定する初期化手段、 前記従属オブジェクトに基づいて、前記最初のオブジェ
    クト及び識別された目標オブジェクトが従属する目標オ
    ブジェクトを反復して識別し、前記最初の事象を、前記
    事象を前記最初のオブジェクトに引渡す前に、全ての前
    記識別された目標オブジェクトに引渡す従属関係解釈手
    段、 前記最初の事象を前記目標オブジェクトに引渡し、前記
    目標オブジェクトの状態を検査して前記事象の状態が満
    たされるかどうかを判定する手段を含む引渡し手段、 もし前記事象の状態が満たされれば、前記事象に対応す
    るメソッドが当該オブジェクトに関連するかどうかを判
    定するために前記目標オブジェクトのメソッドを検査す
    る手段、及びもし前記検査する手段が前記事象に対応す
    るメソッドを見つければ前記メソッドを実行するための
    処理手段を含む情報処理システム。
  2. 【請求項2】前記オブジェクトのソース・コード記述を
    記憶するオブジェクト記憶手段、 前記事象のソース・コード記述を記憶する事象記憶手
    段、 前記オブジェクト及び事象のソース・コード記述を中間
    言語表示に変換する構文解析手段、及び変換された前記
    オブジェクト及び事象を前記記憶手段内のデータ構造に
    構築するデータ構造手段を更に含む請求項1の情報処理
    システム。
  3. 【請求項3】前記オブジェクト定義は属性及びメソッド
    を有する一般的なオブジェクトを含み前記最初の又は目
    標オブジェクトに類似の一般的なオブジェクトを識別し
    且つ前記最初の又は目標オブジェクトの特性を有する前
    記一般的なオブジェクトのインスタンスを生成するオブ
    ジェクト・インスタンス化手段を含む請求項2の情報処
    理システム。
  4. 【請求項4】前記インスタンスは前記一般的なオブジェ
    クトから属性及びメソッドを継承する請求項3の情報処
    理システム。
  5. 【請求項5】複数のソフトウェア・ソース・ファイルか
    らソフトウェア・オブジェクトの最新のバージョンを生
    成するソフトウェア保守システムであって、 前記ソフトウェア・オブジェクトの保守に必要とされ各
    々が事象識別子及び1以上の状態を有する事象を記憶す
    る事象記憶手段、 各々がオブジェクト識別子と、現在のオブジェクトが従
    属する、即ちソース・ファイルが関連する少なくとも1
    つの、0、1又は2以上の従属オブジェクトから成るソ
    フトウェア・オブジェクトを表わす従属オブジェクトを
    含む複数の属性と、複数の状態と、前記保守システムに
    より実行される動作を記述する複数のメソッドと、を有
    するオブジェクトの定義を記憶するオブジェクト記憶手
    段、 オペレータが選択した最初のオブジェクト及び最初の事
    象を識別するためのオペレータ対話手段、 前記最初のオブジェクト及びその従属オブジェクトが従
    属する目標オブジェクトを反復して識別する従属関係解
    釈手段、 前記最初の事象を前記目標オブジェクトに引渡すための
    引渡し手段を含み、前記引渡し手段は前記目標オブジェ
    クトの状態を前記事象の状態で検査する手段、 もし前記事象の状態が満たされれば、前記目標オブジェ
    クトが前記事象に一致する関連メソッドを有するかどう
    かを判定するために前記目標オブジェクトのメソッドを
    検査する手段、及びもし関連する事象が識別されれば、
    前記関連メソッドを処理するための処理手段を含むソフ
    トウェア保守システム。
  6. 【請求項6】前記事象記憶手段及び前記オブジェクト記
    憶手段は第一のアドレスで始まるシステム・ランダム・
    アクセス・メモリを含み、 前記事象記憶手段及び前記オブジェクト記憶手段にある
    データを不揮発性システム記憶装置に複写するための不
    揮発性システム記憶手段、及び前記第一のアドレスが変
    らないように前記不揮発性記憶手段から前記事象記憶手
    段及び前記オブジェクト記憶手段にデータを複写する手
    段を含む請求項5のソフトウェア保守システム。
  7. 【請求項7】事象定義を入力する事象データ入力手段、
    及びオブジェクト定義を入力するオブジェクト・データ
    入力手段を更に含む請求項6のソフトウェア保守システ
    ム。
  8. 【請求項8】前記事象データ入力手段及び前記オブジェ
    クト・データ入力手段はテキスト入力システムを含み、 前記テキストの事象及びオブジェクト・データを中間言
    語に変換する構文解析手段、及び前記中間言語を前記ラ
    ンダム・アクセス・メモリ内の前記オブジェクト及び事
    象データ構造に変換するデータ構造生成手段を含む請求
    項6のソフトウェア保守システム。
  9. 【請求項9】前記オブジェクト定義は属性及びメソッド
    を有する一般的なオブジェクトを含み、 前記最初の又は目標オブジェクトに類似の一般的なオブ
    ジェクトを識別し、前記最初の又は目標オブジェクトの
    特性を有する前記一般的なオブジェクトのインスタンス
    を生成するオブジェクト・インスタンス化手段を含む請
    求項8のソフトウェア保守システム。
  10. 【請求項10】前記インスタンスは前記一般的なオブジ
    ェクトから属性及びメソッドを継承する請求項9のソフ
    トウェア保守システム。
  11. 【請求項11】前記事象は前記事象の前にオブジェクト
    に用いねばならない前もって必要な事象を含む請求項5
    のソフトウェア保守システム。
  12. 【請求項12】前記事象状態は引渡し状態、事前適用状
    態及び事後適用状態を含み、前記事前適用又は事後適用
    状態の障害は誤りメッセージを生成させる請求項5のソ
    フトウェア保守システム。
  13. 【請求項13】前記状態はオブジェクト存在、オブジェ
    クト不在、オブジェクト構築、無効又は無状態のうちの
    どれかを表わす請求項12のソフトウェア保守システ
    ム。
JP4020744A 1991-01-22 1992-01-10 オブジェクトに基づく情報処理システム及びソフトウェア保守システム Expired - Lifetime JPH0792748B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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