JPH0683634A - 障害検出方法 - Google Patents
障害検出方法Info
- Publication number
- JPH0683634A JPH0683634A JP5021118A JP2111893A JPH0683634A JP H0683634 A JPH0683634 A JP H0683634A JP 5021118 A JP5021118 A JP 5021118A JP 2111893 A JP2111893 A JP 2111893A JP H0683634 A JPH0683634 A JP H0683634A
- Authority
- JP
- Japan
- Prior art keywords
- source code
- list
- parts
- compilation
- code part
- 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/40—Transformation of program code
- G06F8/41—Compilation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 複雑なコンピュータ・プログラムの作成を動
的に効率よくスケジューリングする。 【構成】 コンピュータのパート・ライブラリでアクセ
スされる複数のソース・コード・パートからコンピュー
タ・プログラムを作成することを動的にスケジューリン
グする。スケジューリングは、各ソース・コード・パー
トがコンパイルされた時にコンパイラからスケジューラ
に返る情報をもとにして行なわれる。
的に効率よくスケジューリングする。 【構成】 コンピュータのパート・ライブラリでアクセ
スされる複数のソース・コード・パートからコンピュー
タ・プログラムを作成することを動的にスケジューリン
グする。スケジューリングは、各ソース・コード・パー
トがコンパイルされた時にコンパイラからスケジューラ
に返る情報をもとにして行なわれる。
Description
【0001】
【産業上の利用分野】本発明は、一般にコンピュータ・
プログラムを構成部分から作成するスケジューリングに
関し、特に、複雑なコンピュータ・プログラムを、ソー
ス・コード・パート・ライブラリで動的にアクセスされ
るソース・コード・パートから作成する動的かつ効率的
なスケジューリングに関する。
プログラムを構成部分から作成するスケジューリングに
関し、特に、複雑なコンピュータ・プログラムを、ソー
ス・コード・パート・ライブラリで動的にアクセスされ
るソース・コード・パートから作成する動的かつ効率的
なスケジューリングに関する。
【0002】
【従来の技術】複雑なコンピュータ・プログラムの開発
では、プログラムを作成するのに、大きいプログラムを
1つ書くよりも小さいパートをまとめ上げる方が効率が
よい。プログラムの作成に用いられるソース・コード・
パートは、プログラム・ライブラリの中で個別に作成・
維持でき、必要に応じてアクセスできる。複雑なプログ
ラムを作る場合、構成要素であるソース・コード・パー
トは各々、実行可能プログラムとして統合される前に、
コンパイルのためにアクセスされスケジューリングされ
る。複雑なプログラムを間違いなく完成させるには、必
要な構成要素のソース・コード・パートをいくつか、コ
ンパイルのために正しい順序でスケジューリングしなけ
ればならない。論理的に独立したソース・コード・パー
トをコンパイルのためにスケジューリングしなければ、
その相互に依存的なソース・コード・パートをコンパイ
ルできない。
では、プログラムを作成するのに、大きいプログラムを
1つ書くよりも小さいパートをまとめ上げる方が効率が
よい。プログラムの作成に用いられるソース・コード・
パートは、プログラム・ライブラリの中で個別に作成・
維持でき、必要に応じてアクセスできる。複雑なプログ
ラムを作る場合、構成要素であるソース・コード・パー
トは各々、実行可能プログラムとして統合される前に、
コンパイルのためにアクセスされスケジューリングされ
る。複雑なプログラムを間違いなく完成させるには、必
要な構成要素のソース・コード・パートをいくつか、コ
ンパイルのために正しい順序でスケジューリングしなけ
ればならない。論理的に独立したソース・コード・パー
トをコンパイルのためにスケジューリングしなければ、
その相互に依存的なソース・コード・パートをコンパイ
ルできない。
【0003】依存性のないソース・コード・パートのコ
ンパイルをスケジューリングするのは比較的に簡単であ
る。しかし、コンパイルが進むにつれて、ソース・コー
ド・パート間のコンパイルの依存性や前提条件が生じる
とスケジューリングは複雑になる。その原因として、ソ
ース・コード・パートのライブラリの中では、パートは
常時、互いに独立に維持されることがある。この場合、
あるソース・コード・パートに変更が加えられて、別の
ソース・コード・パートに依存性が生じることがある
が、これはスケジューラがそのパートをコンパイルしよ
うとするまではわからない。その際、スケジューラが、
新たに生じた依存性に動的に対応できなければ、依存性
の問題が解決されず、プログラムの作成が進まない。
ンパイルをスケジューリングするのは比較的に簡単であ
る。しかし、コンパイルが進むにつれて、ソース・コー
ド・パート間のコンパイルの依存性や前提条件が生じる
とスケジューリングは複雑になる。その原因として、ソ
ース・コード・パートのライブラリの中では、パートは
常時、互いに独立に維持されることがある。この場合、
あるソース・コード・パートに変更が加えられて、別の
ソース・コード・パートに依存性が生じることがある
が、これはスケジューラがそのパートをコンパイルしよ
うとするまではわからない。その際、スケジューラが、
新たに生じた依存性に動的に対応できなければ、依存性
の問題が解決されず、プログラムの作成が進まない。
【0004】また、ソース・コード・パートのコンパイ
ルをスケジューリングする時に別の問題が生じることが
ある。パートのコンパイル依存性が循環型で前提条件で
あったり、パートの前提条件が、存在しないソース・コ
ード・パートに対するものであったりする。循環型で前
提条件であるコンパイル依存性が生じるのは、たとえば
パートAが、パートBのコンパイルの後にしかコンパイ
ルできず、パートBがパートAのコンパイルの後にしか
コンパイルできない場合である。こうした循環コンパイ
ル依存性が生じると、スケジューリングが無限ループに
入り、コンピュータ・プログラムが完成しないままにな
る。
ルをスケジューリングする時に別の問題が生じることが
ある。パートのコンパイル依存性が循環型で前提条件で
あったり、パートの前提条件が、存在しないソース・コ
ード・パートに対するものであったりする。循環型で前
提条件であるコンパイル依存性が生じるのは、たとえば
パートAが、パートBのコンパイルの後にしかコンパイ
ルできず、パートBがパートAのコンパイルの後にしか
コンパイルできない場合である。こうした循環コンパイ
ル依存性が生じると、スケジューリングが無限ループに
入り、コンピュータ・プログラムが完成しないままにな
る。
【0005】そこで、ソース・コード・パートからコン
ピュータ・プログラムを効率よく作成するためには、パ
ートを正しくスケジューリングし、コンパイル時にパー
ト間に生じるコンパイル依存性を、スケジューラによっ
て動的に適合させ、さらに、ソース・コード・パートが
循環スケジューリング・ループに入った時に、アプリケ
ーションの作成を適時に停止しなければならない。
ピュータ・プログラムを効率よく作成するためには、パ
ートを正しくスケジューリングし、コンパイル時にパー
ト間に生じるコンパイル依存性を、スケジューラによっ
て動的に適合させ、さらに、ソース・コード・パートが
循環スケジューリング・ループに入った時に、アプリケ
ーションの作成を適時に停止しなければならない。
【0006】従来技術では、コンピュータ・プログラム
を開発する際に、ソース・コード・パートを統合する1
つの方法として、MAKEファシリティが用いられる。
MAKEファシリティでは、あるファイルに、作成に必
要なソース・コード・パートと、ソース・コード・パー
トを作る順序とを指定することによって、MAKEファ
イルが作成される。この方法で複雑なプログラムを作成
する際、ユーザは、このプロセスに間断なくかかわり、
MAKEファイルを最新の状態に、かつ構文的に正しい
状態に保つ必要がある。しかしこの作業は、多くのソー
ス・コード・パートが変更されていたり、大きなソース
・コード・パート・ライブラリに追加あるいは削除され
ていると容易でない。
を開発する際に、ソース・コード・パートを統合する1
つの方法として、MAKEファシリティが用いられる。
MAKEファシリティでは、あるファイルに、作成に必
要なソース・コード・パートと、ソース・コード・パー
トを作る順序とを指定することによって、MAKEファ
イルが作成される。この方法で複雑なプログラムを作成
する際、ユーザは、このプロセスに間断なくかかわり、
MAKEファイルを最新の状態に、かつ構文的に正しい
状態に保つ必要がある。しかしこの作業は、多くのソー
ス・コード・パートが変更されていたり、大きなソース
・コード・パート・ライブラリに追加あるいは削除され
ていると容易でない。
【0007】これに代わる従来技術は、各ソース・コー
ド・パートのソース・コードを、そのコンパイルをスケ
ジューリングする前に解析する機能を持つソース・コー
ド・パート・スケジューラを使用することである。これ
により、ソース・コード・パートの依存性が判定できる
ため、パートのコンパイルをスケジューリングすること
ができる。この種のスケジューラには、それがサポート
する各コンパイラのものと同じパーサ(parser)が必要
である。この方法は、スケジューラが、同じソース言語
で符号化されたソース・コード・パートをサポートする
場合は適切であろうが、パートがいくつかの言語で書か
れていて、同じパート・ライブラリに存在する場合は効
率が悪い。また、スケジューラがパーサを備えている場
合でも、コードを解析することによって得られた情報を
もとに実際にコンパイルが行なわれるまでには、ソース
・コード・パートの保守のために依存性が変わってお
り、したがって、スケジューリングのために得られた情
報が古くなっていることもあり得る。
ド・パートのソース・コードを、そのコンパイルをスケ
ジューリングする前に解析する機能を持つソース・コー
ド・パート・スケジューラを使用することである。これ
により、ソース・コード・パートの依存性が判定できる
ため、パートのコンパイルをスケジューリングすること
ができる。この種のスケジューラには、それがサポート
する各コンパイラのものと同じパーサ(parser)が必要
である。この方法は、スケジューラが、同じソース言語
で符号化されたソース・コード・パートをサポートする
場合は適切であろうが、パートがいくつかの言語で書か
れていて、同じパート・ライブラリに存在する場合は効
率が悪い。また、スケジューラがパーサを備えている場
合でも、コードを解析することによって得られた情報を
もとに実際にコンパイルが行なわれるまでには、ソース
・コード・パートの保守のために依存性が変わってお
り、したがって、スケジューリングのために得られた情
報が古くなっていることもあり得る。
【0008】このように上記2つの方法は満足のいくも
のではない。また、いずれの方法も、各パートがコンパ
イルされてから判明したソース・コード・パート間の依
存性に合わせてスケジュールを動的に調整することはで
きない。
のではない。また、いずれの方法も、各パートがコンパ
イルされてから判明したソース・コード・パート間の依
存性に合わせてスケジュールを動的に調整することはで
きない。
【0009】米国特許第4852001号明細書は、様
々なリソースに対してジョブをスケジューリングする方
法を示している。ジョブの作業負荷は各々、ジョブの単
位とリソースのタイプとして時間軸に沿った各時間単位
に割当てられる。この明細書は、ジョブのタイミングと
時間の割当てに関するもので、アプリケーション・プロ
グラムの開発と依存性のスケジューリングには言及して
いない。
々なリソースに対してジョブをスケジューリングする方
法を示している。ジョブの作業負荷は各々、ジョブの単
位とリソースのタイプとして時間軸に沿った各時間単位
に割当てられる。この明細書は、ジョブのタイミングと
時間の割当てに関するもので、アプリケーション・プロ
グラムの開発と依存性のスケジューリングには言及して
いない。
【0010】米国特許第4791554号明細書は、コ
ンピュータのデータ・ベースで複数のリソースを共有す
ることによって複数のタスクの並列実行を行なうコンピ
ュータ・システムを示している。この明細書は、共通リ
ソースの共有による "デッドロック" について述べ、デ
ッドロックの可能性のあるタスクの開始を遅らせる情報
を与えているが、本発明が言及している問題には触れて
いない。
ンピュータのデータ・ベースで複数のリソースを共有す
ることによって複数のタスクの並列実行を行なうコンピ
ュータ・システムを示している。この明細書は、共通リ
ソースの共有による "デッドロック" について述べ、デ
ッドロックの可能性のあるタスクの開始を遅らせる情報
を与えているが、本発明が言及している問題には触れて
いない。
【0011】米国特許第4658351号明細書は、デ
ータ処理システムに於いて汎用データを処理する複数の
タスクの対話型平行処理タスクを制御する方法及び装置
を示している。タスク・マネジャは複数のタスク・キュ
ーを含み、各キューが、タスクの実行の相対優先度に対
応する。タスクは、タスク・キューの相対優先度と、タ
スク・キュー内のタスク制御ブロックの順列位置による
順序で実行される。この明細書も、本発明が解決してい
る問題に言及していない。
ータ処理システムに於いて汎用データを処理する複数の
タスクの対話型平行処理タスクを制御する方法及び装置
を示している。タスク・マネジャは複数のタスク・キュ
ーを含み、各キューが、タスクの実行の相対優先度に対
応する。タスクは、タスク・キューの相対優先度と、タ
スク・キュー内のタスク制御ブロックの順列位置による
順序で実行される。この明細書も、本発明が解決してい
る問題に言及していない。
【0012】
【発明が解決しようとする課題】パートが複数のコンパ
イル依存性を持ち得、作成開始時にスケジューラがコン
パイル依存性を知らない場合、相互に依存した複数のソ
ース・コード・パートをパート・ライブラリからコンパ
イルすることをスケジューリングすることによって、コ
ンピュータ・プログラムの作成をスケジューリングする
という問題は、従来の技術では適切に対処されていな
い。また、コンパイルが進むにつれてわかってくる、コ
ンパイルするソース・コード・パートの新たな依存性に
動的に対応する手段はまだ知られていない。さらに、ア
プリケーション開発の試みを挫くような、ソース・コー
ド・パート間の循環コンパイル依存性が存在することを
効率よく認識する手段もまだ知られていない。
イル依存性を持ち得、作成開始時にスケジューラがコン
パイル依存性を知らない場合、相互に依存した複数のソ
ース・コード・パートをパート・ライブラリからコンパ
イルすることをスケジューリングすることによって、コ
ンピュータ・プログラムの作成をスケジューリングする
という問題は、従来の技術では適切に対処されていな
い。また、コンパイルが進むにつれてわかってくる、コ
ンパイルするソース・コード・パートの新たな依存性に
動的に対応する手段はまだ知られていない。さらに、ア
プリケーション開発の試みを挫くような、ソース・コー
ド・パート間の循環コンパイル依存性が存在することを
効率よく認識する手段もまだ知られていない。
【0013】
【課題を解決するための手段】本発明は、コンピュータ
のパート・ライブラリでアクセスされる複数のソース・
コード・パートからコンピュータ・プログラムを作成す
ることを動的にスケジューリングするための方法及び手
段を提供する。スケジューリングは、各ソース・コード
・パートがコンパイルされた時にコンパイラからスケジ
ューラに返る情報をもとにして行なわれる。
のパート・ライブラリでアクセスされる複数のソース・
コード・パートからコンピュータ・プログラムを作成す
ることを動的にスケジューリングするための方法及び手
段を提供する。スケジューリングは、各ソース・コード
・パートがコンパイルされた時にコンパイラからスケジ
ューラに返る情報をもとにして行なわれる。
【0014】本発明の目的は、複雑なコンピュータ・プ
ログラムを複数のソース・コード・パートからコンパイ
ルする時に生じる重大な障害を検出することにある。
ログラムを複数のソース・コード・パートからコンパイ
ルする時に生じる重大な障害を検出することにある。
【0015】本発明の目的には、特定のソース・コード
・パートをコンパイルすることができない場合でもコン
パイルが継続する複雑なコンピュータ・プログラムをコ
ンパイルするためのプロセスを提供することも含まれ
る。
・パートをコンパイルすることができない場合でもコン
パイルが継続する複雑なコンピュータ・プログラムをコ
ンパイルするためのプロセスを提供することも含まれ
る。
【0016】本発明は、具体的には、複雑なコンピュー
タ・プログラムを作成する間に重大な障害を検出する方
法と定義され、この方法には、プログラムの作成に必要
なソース・コード・パートをリスト化するステップ、各
パートを作成状態標識(build status indicater)でマ
ーキングするステップ、リストのソース・コード・パー
トを反復走査するステップ、作成状態標識とパートの依
存性に従って走査される際に各パートのコンパイルを試
みるステップ、及び正常に終了した場合には、作成状態
標識をコンパイル正常終了標識と置き換え、リストの全
パートの走査時に変更された標識がない場合にのみ走査
プロセスを止めるステップとが含まれる。
タ・プログラムを作成する間に重大な障害を検出する方
法と定義され、この方法には、プログラムの作成に必要
なソース・コード・パートをリスト化するステップ、各
パートを作成状態標識(build status indicater)でマ
ーキングするステップ、リストのソース・コード・パー
トを反復走査するステップ、作成状態標識とパートの依
存性に従って走査される際に各パートのコンパイルを試
みるステップ、及び正常に終了した場合には、作成状態
標識をコンパイル正常終了標識と置き換え、リストの全
パートの走査時に変更された標識がない場合にのみ走査
プロセスを止めるステップとが含まれる。
【0017】本発明の特徴は、ソース・コード・パート
のコンパイルを試みる間にパートをリストに追加する機
能にもある。
のコンパイルを試みる間にパートをリストに追加する機
能にもある。
【0018】また、ソース・コード・パートの依存性の
リストには、パートがいつ変更できるかについて標識が
得られるように、他のパートに依存性を持つ各ソース・
パートが示される。
リストには、パートがいつ変更できるかについて標識が
得られるように、他のパートに依存性を持つ各ソース・
パートが示される。
【0019】本発明の方法は、具体的には次のステップ
にまとめることができる。 i)アプリケーションの開発に必要な既知のソース・コ
ード・パートの初期リストを設定する。 ii)リストの各ソース・コード・パートを作成状態標
識でマーキングする。 iii)リストの各ソース・コード・パートのコンパイ
ルを、コンパイルが必要な場合は一時に1回スケジュー
リングする。 iv)上記ステップiiiのソース・コード・パートの
コンパイルが正常に終了した場合は、ソース・コード・
パートの作成状態標識を変更してコンパイルの正常終了
を示す。 v)上記ステップiiiにおいて第1のソース・コード
・パートのコンパイルが、その第1のソース・コード・
パートのコンパイルの前提条件である第2のソース・コ
ード・パートの参照によって停止した場合、及び第2の
ソース・コード・パートがリストにない場合には、リス
トに第2のソース・コード・パートを追加し、第2のソ
ース・コード・パートの作成状態標識をセットして第2
のソース・コード・パートがコンパイル対象であること
を示し、第1のソース・コード・パートの作成状態標識
を未変更のまま保持してリストの次のソース・コード・
パートに進む。 vi)上記ステップiv以外の理由によるコンパイル障
害のためにソース・コード・パートのコンパイルが停止
した場合、ソース・コード・パートの作成状態標識をセ
ットしてソース・コード・パートがコンパイルできなか
ったことを示し、リストの次のソース・コード・パート
に進む。 vii)ソース・コード・パートのリスト全体の走査の
間に状態標識が変更されなくなるまでリストの初めから
終わりまで上記ステップiii、iv、vを繰り返す。 viii)上記viiの完了後、コンパイルを止め、作
成状態標識の現状態をレポートする。この時点で、正常
にスケジューリングされたソース・コード・パートと、
そうでなかったものを区別できる。
にまとめることができる。 i)アプリケーションの開発に必要な既知のソース・コ
ード・パートの初期リストを設定する。 ii)リストの各ソース・コード・パートを作成状態標
識でマーキングする。 iii)リストの各ソース・コード・パートのコンパイ
ルを、コンパイルが必要な場合は一時に1回スケジュー
リングする。 iv)上記ステップiiiのソース・コード・パートの
コンパイルが正常に終了した場合は、ソース・コード・
パートの作成状態標識を変更してコンパイルの正常終了
を示す。 v)上記ステップiiiにおいて第1のソース・コード
・パートのコンパイルが、その第1のソース・コード・
パートのコンパイルの前提条件である第2のソース・コ
ード・パートの参照によって停止した場合、及び第2の
ソース・コード・パートがリストにない場合には、リス
トに第2のソース・コード・パートを追加し、第2のソ
ース・コード・パートの作成状態標識をセットして第2
のソース・コード・パートがコンパイル対象であること
を示し、第1のソース・コード・パートの作成状態標識
を未変更のまま保持してリストの次のソース・コード・
パートに進む。 vi)上記ステップiv以外の理由によるコンパイル障
害のためにソース・コード・パートのコンパイルが停止
した場合、ソース・コード・パートの作成状態標識をセ
ットしてソース・コード・パートがコンパイルできなか
ったことを示し、リストの次のソース・コード・パート
に進む。 vii)ソース・コード・パートのリスト全体の走査の
間に状態標識が変更されなくなるまでリストの初めから
終わりまで上記ステップiii、iv、vを繰り返す。 viii)上記viiの完了後、コンパイルを止め、作
成状態標識の現状態をレポートする。この時点で、正常
にスケジューリングされたソース・コード・パートと、
そうでなかったものを区別できる。
【0020】本発明によるスケジューラは、作成が進む
際の新しいパートのスケジューリングを含めて、ソース
・コード・パートのコンパイルを必要に応じてスケジュ
ーリングする。コンパイルの間にソース・コード・パー
ト間に循環コンパイル依存性が生じてスケジューリング
が無限ループに入った場合は、本発明の方法により、コ
ンパイルが効率よく停止する。
際の新しいパートのスケジューリングを含めて、ソース
・コード・パートのコンパイルを必要に応じてスケジュ
ーリングする。コンパイルの間にソース・コード・パー
ト間に循環コンパイル依存性が生じてスケジューリング
が無限ループに入った場合は、本発明の方法により、コ
ンパイルが効率よく停止する。
【0021】
【実施例】図1に示した本発明の実施例は、コンピュー
タ・プログラムのライブラリで作成・維持されるソース
・コード・パートから複雑なコンピュータ・アプリケー
ション・プログラムを作成するために実現されている。
ソース・コード・パートは単に、ソース・コードのフォ
ーマットで維持されるコンピュータ・プログラムであ
り、アクセスされ統合されてより大きなコンピュータ・
プログラムが作成される。
タ・プログラムのライブラリで作成・維持されるソース
・コード・パートから複雑なコンピュータ・アプリケー
ション・プログラムを作成するために実現されている。
ソース・コード・パートは単に、ソース・コードのフォ
ーマットで維持されるコンピュータ・プログラムであ
り、アクセスされ統合されてより大きなコンピュータ・
プログラムが作成される。
【0022】ソース・コード・パートからアプリケーシ
ョン・プログラムを正確に作成するには、正しい順序で
コンパイルされるように様々なパートをスケジューリン
グする必要がある。たとえば、ソース・コード・パート
Aがコンパイルに関してソース・コード・パートBに依
存する場合、パートAに先立ってパートBをコンパイル
しなければならない。
ョン・プログラムを正確に作成するには、正しい順序で
コンパイルされるように様々なパートをスケジューリン
グする必要がある。たとえば、ソース・コード・パート
Aがコンパイルに関してソース・コード・パートBに依
存する場合、パートAに先立ってパートBをコンパイル
しなければならない。
【0023】作成プロセスの開始時、多くのコンパイル
依存性がわかるが、ライブラリではファイルの保守が継
続されるために、スケジューラには未知の新しいコンパ
イル依存性が生じ得る。このような依存性は、ソース・
コード・パートのコンパイルの際に生じる。
依存性がわかるが、ライブラリではファイルの保守が継
続されるために、スケジューラには未知の新しいコンパ
イル依存性が生じ得る。このような依存性は、ソース・
コード・パートのコンパイルの際に生じる。
【0024】効率よい作成のためには、スケジューラ
は、コンパイル時にわかったどのような新しい依存性に
も動的に対応してスケジューリングすることができなけ
ればならない。また、コンパイルの結果、2つ以上のパ
ート間に無限に循環するコンパイル依存性(無限循環コ
ンパイル依存性)が生じた場合、スケジューラは、作成
プロセスを停止できなければならない。
は、コンパイル時にわかったどのような新しい依存性に
も動的に対応してスケジューリングすることができなけ
ればならない。また、コンパイルの結果、2つ以上のパ
ート間に無限に循環するコンパイル依存性(無限循環コ
ンパイル依存性)が生じた場合、スケジューラは、作成
プロセスを停止できなければならない。
【0025】本発明の実施例では、パート・タイプごと
に「パート・リスト」を作成するのに事前スケジューラ
が用いられる。事前スケジューラは、論理ファイルや物
理ファイル等、同種のファイルを同じ「パート・リス
ト」に置く。それらは、互いに循環コンパイル依存性を
生じさせ得るからである。他のパート・タイプは別のリ
ストに置かれる。
に「パート・リスト」を作成するのに事前スケジューラ
が用いられる。事前スケジューラは、論理ファイルや物
理ファイル等、同種のファイルを同じ「パート・リス
ト」に置く。それらは、互いに循環コンパイル依存性を
生じさせ得るからである。他のパート・タイプは別のリ
ストに置かれる。
【0026】図1に示すように、アプリケーション・プ
ログラムを作成するためのソース・コード・パートは、
「パート・リスト」1でエントリとして表わされる。同
様に、所定のソース・コード・パートの依存性は、「依
存性リスト」2のエントリとして示される。「パート・
リスト」1と「依存性リスト」2で、各リスト上のソー
ス・コード・パートの順序は問題ではないが、リスト上
の各ソース・コード・パートは、パートのコンパイル状
態をスケジューラに示すスケジューリング状態標識4を
持つ。この状態標識は、以下のいずれにもセットでき
る。
ログラムを作成するためのソース・コード・パートは、
「パート・リスト」1でエントリとして表わされる。同
様に、所定のソース・コード・パートの依存性は、「依
存性リスト」2のエントリとして示される。「パート・
リスト」1と「依存性リスト」2で、各リスト上のソー
ス・コード・パートの順序は問題ではないが、リスト上
の各ソース・コード・パートは、パートのコンパイル状
態をスケジューラに示すスケジューリング状態標識4を
持つ。この状態標識は、以下のいずれにもセットでき
る。
【0027】1.TO_BE_BUILT スケジューラは、この状態標識を検出すると、パートが
コンパイルを対象にスケジューリングされているかどう
かを判定する。スケジューラは、現パートがコンパイル
を依存するパートをすべてチェックして、そのコンパイ
ル依存性のすべての状態標識がBUILT(後述)にセ
ットされているかどうかを判定する。すべてBUILT
を示している場合、すなわち先にコンパイルされている
場合、スケジューラは、現パートのコンパイルをスケジ
ューリングする。コンパイル依存性についての状態標識
がTO_BE_BUILTにセットされており、これら
のパートがリストにある場合、スケジューラは、現パー
トのスケジューリングを遅らせ、リストの別のパートに
進む。必要な、依存するソース・コード・パートがすべ
てリストにない場合、スケジューラは新しいパートを、
それらが既知となった時にリストに追加する。
コンパイルを対象にスケジューリングされているかどう
かを判定する。スケジューラは、現パートがコンパイル
を依存するパートをすべてチェックして、そのコンパイ
ル依存性のすべての状態標識がBUILT(後述)にセ
ットされているかどうかを判定する。すべてBUILT
を示している場合、すなわち先にコンパイルされている
場合、スケジューラは、現パートのコンパイルをスケジ
ューリングする。コンパイル依存性についての状態標識
がTO_BE_BUILTにセットされており、これら
のパートがリストにある場合、スケジューラは、現パー
トのスケジューリングを遅らせ、リストの別のパートに
進む。必要な、依存するソース・コード・パートがすべ
てリストにない場合、スケジューラは新しいパートを、
それらが既知となった時にリストに追加する。
【0028】2.BUILT この標識を持つパートはスケジューリングされコンパイ
ルされている。コンパイルを要しないパートもこの標識
を持つ。
ルされている。コンパイルを要しないパートもこの標識
を持つ。
【0029】3.FAILED スケジューラは、この標識を検出すると、パートのスケ
ジューリング/コンパイルを止める。これは、パート自
体か、またはそれが依存するパートが、構文等のエラー
のためにコンパイルを失敗したためである。パートのコ
ンパイルが失敗すると、スケジューラは、そのパートを
FAILEDとし、そのパートに依存していたパートは
コンパイルされず、そのようなパートもスケジューラに
よってFAILEDとマーキングされる。
ジューリング/コンパイルを止める。これは、パート自
体か、またはそれが依存するパートが、構文等のエラー
のためにコンパイルを失敗したためである。パートのコ
ンパイルが失敗すると、スケジューラは、そのパートを
FAILEDとし、そのパートに依存していたパートは
コンパイルされず、そのようなパートもスケジューラに
よってFAILEDとマーキングされる。
【0030】コンパイルのためにパートをスケジューリ
ングする際、スケジューラは「パート・リスト」1と
(存在すれば)「依存性リスト」2とを一時に1パー
ト、図1のループ3で反復走査する。スケジューラは、
リストを走査する際、各ソース・コード・パート状態標
識をチェックする。状態標識がBUILTまたはFAI
LEDを示している時、スケジューラはそのパートにつ
いてそれ以上の処理をしない。状態標識TO_BE_B
UILTを検出したスケジューラは、パートがそこでコ
ンパイルできるかどうかをチェックし、できる場合は、
そのパートがコンパイルを対象にスケジューリングされ
る。
ングする際、スケジューラは「パート・リスト」1と
(存在すれば)「依存性リスト」2とを一時に1パー
ト、図1のループ3で反復走査する。スケジューラは、
リストを走査する際、各ソース・コード・パート状態標
識をチェックする。状態標識がBUILTまたはFAI
LEDを示している時、スケジューラはそのパートにつ
いてそれ以上の処理をしない。状態標識TO_BE_B
UILTを検出したスケジューラは、パートがそこでコ
ンパイルできるかどうかをチェックし、できる場合は、
そのパートがコンパイルを対象にスケジューリングされ
る。
【0031】スケジューラは、リスト全体の走査の間に
処理されるパートがなくなるまで、リストを反復走査す
る。これは、走査の間に状態標識がTO_BE_BUI
LTからBUILTまたはFAILEDに変化しないこ
とで示される。この最終走査ループが完了すれば、パー
トのリストの内容は、コンパイルされたソース・コード
・パート(BUILT)、及びコンパイルされていない
ソース・コード・パート(FAILEDまたはTO_B
E_BUILT)となる。コンパイルが完了されていな
いパート(標識TO_BE_BUILTを有するパー
ト)は、循環コンパイル依存性をもつか、循環依存性を
もつパートに依存するか、または存在しないソース・コ
ード・パートを参照するかのいずれかである。
処理されるパートがなくなるまで、リストを反復走査す
る。これは、走査の間に状態標識がTO_BE_BUI
LTからBUILTまたはFAILEDに変化しないこ
とで示される。この最終走査ループが完了すれば、パー
トのリストの内容は、コンパイルされたソース・コード
・パート(BUILT)、及びコンパイルされていない
ソース・コード・パート(FAILEDまたはTO_B
E_BUILT)となる。コンパイルが完了されていな
いパート(標識TO_BE_BUILTを有するパー
ト)は、循環コンパイル依存性をもつか、循環依存性を
もつパートに依存するか、または存在しないソース・コ
ード・パートを参照するかのいずれかである。
【0032】上記の方法は、図1を参照すると次のよう
にまとめられる。
にまとめられる。
【0033】1.スケジューリング・プロセスの開始時
に、パートAが調べられる。スケジューリング状態フラ
グがTO_BE_BUILTにセットされており、パー
トAが依存性を持たない場合、パートAはコンパイルさ
れ、スケジューリング状態標識はBUILTにセットさ
れる。
に、パートAが調べられる。スケジューリング状態フラ
グがTO_BE_BUILTにセットされており、パー
トAが依存性を持たない場合、パートAはコンパイルさ
れ、スケジューリング状態標識はBUILTにセットさ
れる。
【0034】2.次にパートBが調べられる。スケジュ
ーリング状態フラグがTO_BE_BUILTにセット
されているとする。パートBは、まだ処理されていない
パートCの先のコンパイルに依存するため、パートBは
この走査でコンパイルできない。したがってその状態標
識は変更されない。
ーリング状態フラグがTO_BE_BUILTにセット
されているとする。パートBは、まだ処理されていない
パートCの先のコンパイルに依存するため、パートBは
この走査でコンパイルできない。したがってその状態標
識は変更されない。
【0035】3.次にパートCが調べられる。スケジュ
ーリング状態フラグがTO_BE_BUILTであり、
既知の依存性がないから、パートCはコンパイルされ、
パートCの状態標識はBUILTにセットされる。
ーリング状態フラグがTO_BE_BUILTであり、
既知の依存性がないから、パートCはコンパイルされ、
パートCの状態標識はBUILTにセットされる。
【0036】4.この最初のリスト走査の結果、リスト
の少なくとも1つのパートはそのスケジューリング状態
フラグが変更されている。パートA、パートCのフラグ
はTO_BE_BUILTからBUILTに変わってい
る。スケジューラはリストの先頭に戻り、上記ステップ
1、2、3を繰り返す。
の少なくとも1つのパートはそのスケジューリング状態
フラグが変更されている。パートA、パートCのフラグ
はTO_BE_BUILTからBUILTに変わってい
る。スケジューラはリストの先頭に戻り、上記ステップ
1、2、3を繰り返す。
【0037】5.パートAがここで再び調べられる。ス
ケジューリング状態フラグはここで、前の走査からBU
ILTになっているため、この走査では何も実行されな
い。
ケジューリング状態フラグはここで、前の走査からBU
ILTになっているため、この走査では何も実行されな
い。
【0038】6.パートBが調べられる。この場合、ス
ケジューリング状態フラグはTO_BE_BUILTに
なっているが、依存するA、CはすべてBUILTであ
るため、パートBはここでコンパイルされ、スケジュー
リング状態標識はBUILTにセットされる。
ケジューリング状態フラグはTO_BE_BUILTに
なっているが、依存するA、CはすべてBUILTであ
るため、パートBはここでコンパイルされ、スケジュー
リング状態標識はBUILTにセットされる。
【0039】7.パートCが調べられる。先の走査から
状態標識はBUILTにセットされているため、Cに対
しては何も実行されない。
状態標識はBUILTにセットされているため、Cに対
しては何も実行されない。
【0040】リストの走査は再びパートA乃至パートC
から始まるが、このループの3回目の走査で変更される
パート・スケジューリング状態フラグはないため、プロ
セスは停止する。ただし、コンパイルの間に新しい依存
性が検出されると、パートはリストの終わりのパートC
の後に追加され、スケジューラの走査リストの一部にな
る。このサイクルは、状態標識フラグが変わらなくなる
まで繰り返される。
から始まるが、このループの3回目の走査で変更される
パート・スケジューリング状態フラグはないため、プロ
セスは停止する。ただし、コンパイルの間に新しい依存
性が検出されると、パートはリストの終わりのパートC
の後に追加され、スケジューラの走査リストの一部にな
る。このサイクルは、状態標識フラグが変わらなくなる
まで繰り返される。
【0041】本発明の方法を疑似コード・フォーマット
で示すと表1のようになる。
で示すと表1のようになる。
【表1】 疑似コード DO FOREVER PART_STATUS_CHANGEDフラグをFALSEにセット パート・リストの最初のパートを指す DO WHILE パート・リストの最後のパートに達しない IF 現パートがTO_BE_BUILT THEN IF パートをコンパイルする必要がない THEN スケジューリング状態フラグをBUILTにセット ELSE パートをコンパイル コンパイラからわかった新しい依存性を依存性リスト及びパート・リス ト(必要な場合)に追加し、スケジューリング状態フラグをTO_BE_ BUILTにセット IF TO_BE_BUILTの依存性がない THEN 現パートのスケジューリング状態フラグをBUILTにセット END END /* IF */ END /* IF */ IF 現パートのスケジューリング状態フラグが変更されている THEN PART_STATUS_CHANGEDフラグをTRUEにセット END /* IF */ END /* DO WHILE */ ********************************************************************** |* サイクルがあるかどうか判定 *| ********************************************************************** IF PART_STATUS_CHANGEDフラグがFALSE THEN パート・リストの最初のパートを指す DO WHILE パート・リストの最後のパートに達しない IF 現パートのスケジューリング状態がTO_BE_BUILT THEN このパートが、作成されていないパートに依存するという警告を出す END /* IF */ END /* DO WHILE */ この方法を終了 END /* IF */ END /* DO FOREVER */
【0042】本発明は、従来技術で用いられ、MAKE
ファイル・ファシリティあるいはプログラム・パーサを
スケジューラに組み込んだ事前スケジューリング方式と
は対照的に、パートがコンパイルされる際にコンパイラ
によって与えられる情報をもとにした事後スケジューリ
ング方式である。本発明は、コンピュータのアプリケー
ション・プログラムを作成する際にパートをスケジュー
リングし、循環コンパイル依存性のため、あるいは予め
必要なソース・コード・パートが存在しないために、コ
ンパイルできないソース・コード・パートを識別する効
率のよい方法となる。
ファイル・ファシリティあるいはプログラム・パーサを
スケジューラに組み込んだ事前スケジューリング方式と
は対照的に、パートがコンパイルされる際にコンパイラ
によって与えられる情報をもとにした事後スケジューリ
ング方式である。本発明は、コンピュータのアプリケー
ション・プログラムを作成する際にパートをスケジュー
リングし、循環コンパイル依存性のため、あるいは予め
必要なソース・コード・パートが存在しないために、コ
ンパイルできないソース・コード・パートを識別する効
率のよい方法となる。
【0043】
【発明の効果】複数のソース・コード・パートからアプ
リケーション・プログラムを作成するために本発明をコ
ンピュータ・システムに実現する際、コンピュータのメ
モリは、パート・リスト及び依存パート・リストを維持
するためにのみ必要である。無限循環依存性のパートを
識別するのに余分なメモリあるいはコンピュータの処理
能力は必要なく、コンパイルが進むにつれてわかってく
る新しい依存パートの処理にも余分な処理能力は必要な
い。
リケーション・プログラムを作成するために本発明をコ
ンピュータ・システムに実現する際、コンピュータのメ
モリは、パート・リスト及び依存パート・リストを維持
するためにのみ必要である。無限循環依存性のパートを
識別するのに余分なメモリあるいはコンピュータの処理
能力は必要なく、コンパイルが進むにつれてわかってく
る新しい依存パートの処理にも余分な処理能力は必要な
い。
【図1】本発明によるパート・リストと依存性リストの
スケジューリング方法を示す図である。
スケジューリング方法を示す図である。
3・・・ループ 4・・・状態標識
Claims (4)
- 【請求項1】複雑なコンピュータ・プログラムをソース
・コード・パートから作成する際に重大な障害を検出す
る方法であって、上記ソース・コード・パートがプログ
ラム・ライブラリから得られたオブジェクトより成り、 i)複雑なコンピュータ・プログラムを作成するのに必
要なソース・コード・パートを第1のリストとしてリス
ト化するステップと、 ii)上記第1のリストの各ソース・コード・パートを
作成状態標識でマーキングするステップと、 iii)上記第1のリストの上記ソース・コード・パー
トを反復走査するステップと、 iv)上記ソース・コード・パートの走査時に当該走査
とともに上記ソース・コード・パートの各々のコンパイ
ルを試み、コンパイルが正常に終了すると、上記ソース
・コード・パートの上記作成状態標識をコンパイル正常
終了標識と置き換えるステップと、 v)上記リストの上記ソース・コード・パートすべての
走査によりどの標識にも変更が生じない時に上記パート
の上記走査を停止するステップとを含む、障害検出方
法。 - 【請求項2】ソース・コード・パートをコンパイルしよ
うとして、上記第1のリストに含まれていないが上記プ
ログラム・ライブラリから使用できるソース・コード・
パートに対する依存性が識別された時に、上記プログラ
ム・ライブラリから上記第1のリストにソース・コード
・パートを追加するステップを含む、請求項1記載の方
法。 - 【請求項3】上記第1のリストの各ソース・コード・パ
ートについて、各ソース・コード・パートが依存するソ
ース・コード・パートを第2のリストとしてリスト化す
るステップであって、上記第2のリストが、上記第2の
リスト内のパートの作成状態を示す標識を有し、これに
よって上記第2のリストが、ソース・コード・パートが
コンパイルし得るかどうかを示すステップを含む、請求
項2記載の方法。 - 【請求項4】ソース・コード・パートのリストから複雑
なソフトウェア・プログラムを作成する際に重大な障害
を検出する方法であって、上記ソース・コード・パート
が、ソース・コード・パート・ライブラリに作成され維
持されるソース・コード・オブジェクトより成り、 i)上記ソース・コード・パートの各々を作成状態標識
でマーキングするステップと、 ii)上記リストの上記ソース・コード・パートの各々
を一時に1パートづつコンパイルするステップと、 iii)上記コンパイル・ステップのソース・コード・
パートのコンパイルが正常に終了した場合、上記ソース
・コード・パートの上記作成状態標識を変更してコンパ
イルの正常終了を示すステップと、 iv)上記コンパイル・ステップの第1のソース・コー
ド・パートのコンパイルが、当該第1のソース・コード
・パートのコンパイルに予め必要な第2のソース・コー
ド・パートへの参照があることによって停止された場
合、または上記第2のソース・コード・パートが上記リ
ストにない場合、上記第2のソース・コード・パートを
上記リストに追加し、上記第2のソース・コード・パー
トの上記作成状態標識をセットして上記第2のソース・
コード・パートがコンパイル対象であることを示し、上
記第1のソース・コード・パートの上記作成状態標識を
未変更のまま保つステップと、 v)上記ソース・コード・パートのコンパイルが、上記
iv)のステップ以外の理由によりコンパイルできずに
停止した場合、上記作成状態標識をセットして上記ソー
ス・コード・オブジェクトがコンパイルできなかったこ
とを示すステップと、 vi)上記ソース・コード・パートのリスト全体を走査
する間に上記状態標識に変更が生じなくなるまで上記i
ii)、iv)、及びv)のステップを上記リストの初
めから終わりまで繰り返すステップと、 vii)上記vi)のステップの終了後に、上記コンパ
イルを停止し、上記ソース・コード・パートの各々につ
いて上記作成状態標識の現状態をレポートするステップ
とを含む、 障害検出方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2061298 | 1992-02-17 | ||
CA002061298A CA2061298C (en) | 1992-02-17 | 1992-02-17 | Method for detecting critical failures during the building of complex computer programs from source code parts |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0683634A true JPH0683634A (ja) | 1994-03-25 |
JP2802005B2 JP2802005B2 (ja) | 1998-09-21 |
Family
ID=4149269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5021118A Expired - Lifetime JP2802005B2 (ja) | 1992-02-17 | 1993-02-09 | 障害検出方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US5375239A (ja) |
JP (1) | JP2802005B2 (ja) |
CA (1) | CA2061298C (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2061298C (en) * | 1992-02-17 | 1996-12-03 | Douglas J. Mortson | Method for detecting critical failures during the building of complex computer programs from source code parts |
US5848274A (en) * | 1996-02-29 | 1998-12-08 | Supercede, Inc. | Incremental byte code compilation system |
US5764989A (en) * | 1996-02-29 | 1998-06-09 | Supercede, Inc. | Interactive software development system |
CA2178898C (en) * | 1996-06-12 | 2000-02-01 | David Joseph Streeter | Sequencing and error detection of template instantiations during compilation of c++ programs |
US6067413A (en) * | 1996-06-13 | 2000-05-23 | Instantations, Inc. | Data representation for mixed-language program development |
US5787439A (en) * | 1996-12-13 | 1998-07-28 | Novell, Inc. | Method and system for maintaining a preferred sequence for accessing a plurality of objects |
US5973687A (en) * | 1996-12-18 | 1999-10-26 | Sun Microsystems, Inc. | Graphical distributed make tool methods apparatus and computer program products |
JP4027482B2 (ja) * | 1997-12-24 | 2007-12-26 | 富士通株式会社 | 暗号復元を行う翻訳装置およびその方法 |
US6757900B1 (en) | 2000-05-18 | 2004-06-29 | Microsoft Corporation | State management of server-side control objects |
US7013340B1 (en) | 2000-05-18 | 2006-03-14 | Microsoft Corporation | Postback input handling by server-side control objects |
US7380250B2 (en) | 2001-03-16 | 2008-05-27 | Microsoft Corporation | Method and system for interacting with devices having different capabilities |
US7493397B1 (en) | 2001-06-06 | 2009-02-17 | Microsoft Corporation | Providing remote processing services over a distributed communications network |
US6944797B1 (en) | 2001-06-07 | 2005-09-13 | Microsoft Corporation | Method and system for tracing |
US6915454B1 (en) | 2001-06-12 | 2005-07-05 | Microsoft Corporation | Web controls validation |
US7162723B2 (en) * | 2001-06-29 | 2007-01-09 | Microsoft Corporation | ASP.NET HTTP runtime |
US7594001B1 (en) | 2001-07-06 | 2009-09-22 | Microsoft Corporation | Partial page output caching |
US7216294B2 (en) | 2001-09-04 | 2007-05-08 | Microsoft Corporation | Method and system for predicting optimal HTML structure without look-ahead |
US7428725B2 (en) * | 2001-11-20 | 2008-09-23 | Microsoft Corporation | Inserting devices specific content |
US20030233477A1 (en) * | 2002-06-17 | 2003-12-18 | Microsoft Corporation | Extensible infrastructure for manipulating messages communicated over a distributed network |
US7574653B2 (en) * | 2002-10-11 | 2009-08-11 | Microsoft Corporation | Adaptive image formatting control |
US7603664B2 (en) * | 2002-10-22 | 2009-10-13 | Sun Microsystems, Inc. | System and method for marking software code |
JP3925857B2 (ja) * | 2002-11-07 | 2007-06-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スケジュール作成方法、プログラム及びタスクスケジュール作成装置 |
US7111287B2 (en) * | 2003-01-10 | 2006-09-19 | International Business Machines Corporation | Global processor resource assignment in an assembler |
US7827216B1 (en) * | 2003-07-23 | 2010-11-02 | Novell, Inc. | Method for coordinating relationships between multiple physical entities |
US7596782B2 (en) | 2003-10-24 | 2009-09-29 | Microsoft Corporation | Software build extensibility |
US7890604B2 (en) * | 2004-05-07 | 2011-02-15 | Microsoft Corproation | Client-side callbacks to server events |
US20050251380A1 (en) * | 2004-05-10 | 2005-11-10 | Simon Calvert | Designer regions and Interactive control designers |
US8065600B2 (en) | 2004-05-14 | 2011-11-22 | Microsoft Corporation | Systems and methods for defining web content navigation |
US9026578B2 (en) * | 2004-05-14 | 2015-05-05 | Microsoft Corporation | Systems and methods for persisting data between web pages |
US7464386B2 (en) * | 2004-05-17 | 2008-12-09 | Microsoft Corporation | Data controls architecture |
US8156448B2 (en) * | 2004-05-28 | 2012-04-10 | Microsoft Corporation | Site navigation and site navigation data source |
US7530058B2 (en) * | 2004-05-28 | 2009-05-05 | Microsoft Corporation | Non-compile pages |
US20060020883A1 (en) * | 2004-05-28 | 2006-01-26 | Microsoft Corporation | Web page personalization |
US20070185929A1 (en) * | 2006-02-01 | 2007-08-09 | Sap Portals Isreal Ltd. | Method and apparatus for processing monitoring |
US8151253B2 (en) * | 2006-03-27 | 2012-04-03 | Oracle International Corporation | Efficient generation of executable file from program files when some of the program files expressly incorporate other program files |
US20080196024A1 (en) * | 2007-02-08 | 2008-08-14 | Ibm Corporation | Method and Apparatus for Changing Software Components in an Information Handling System |
US8108360B2 (en) * | 2008-04-17 | 2012-01-31 | Microsoft Corporation | Database object update order determination |
US20150046903A1 (en) * | 2013-08-06 | 2015-02-12 | International Business Machines Incorporated | Predicting immediate build targets |
CN116547666B (zh) * | 2020-12-03 | 2024-03-22 | 美商新思科技有限公司 | 硬件设计编译故障时自动顺序重试 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6194149A (ja) * | 1984-10-15 | 1986-05-13 | Fujitsu Ltd | 翻訳順序決定方式 |
JPH01240934A (ja) * | 1988-03-23 | 1989-09-26 | Hitachi Ltd | 自動再コンパイル方法 |
JPH0240720A (ja) * | 1988-07-29 | 1990-02-09 | Nec Corp | 目的プログラム出力指示方式 |
Family Cites Families (10)
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 |
US4658351A (en) * | 1984-10-09 | 1987-04-14 | Wang Laboratories, Inc. | Task control means for a multi-tasking data processing system |
JPS61233849A (ja) * | 1985-04-08 | 1986-10-18 | Hitachi Ltd | デ−タベ−ス排他制御方法 |
JP2533495B2 (ja) * | 1986-07-25 | 1996-09-11 | 株式会社日立製作所 | ワ−クスケジユ−リング方法及び装置 |
US4951192A (en) * | 1987-06-04 | 1990-08-21 | Apollo Computer, Inc. | Device for managing software configurations in parallel in a network |
US5182807A (en) * | 1987-12-18 | 1993-01-26 | Nec Corporation | Assembler system for determining when to compile source code modules |
US5051893A (en) * | 1988-07-11 | 1991-09-24 | Digital Equipment Corporation | System for processing data to facilitate the creation of executable images |
US4949255A (en) * | 1988-09-07 | 1990-08-14 | International Business Machines Corp. | Message interface and method for recursive calling between interpretive and compiled computer processes |
US5175856A (en) * | 1990-06-11 | 1992-12-29 | Supercomputer Systems Limited Partnership | Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution |
CA2061298C (en) * | 1992-02-17 | 1996-12-03 | Douglas J. Mortson | Method for detecting critical failures during the building of complex computer programs from source code parts |
-
1992
- 1992-02-17 CA CA002061298A patent/CA2061298C/en not_active Expired - Fee Related
-
1993
- 1993-02-09 JP JP5021118A patent/JP2802005B2/ja not_active Expired - Lifetime
- 1993-02-12 US US08/016,622 patent/US5375239A/en not_active Expired - Fee Related
-
1994
- 1994-06-08 US US08/257,621 patent/US5513357A/en not_active Expired - Fee Related
-
1995
- 1995-06-06 US US08/466,694 patent/US5604908A/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6194149A (ja) * | 1984-10-15 | 1986-05-13 | Fujitsu Ltd | 翻訳順序決定方式 |
JPH01240934A (ja) * | 1988-03-23 | 1989-09-26 | Hitachi Ltd | 自動再コンパイル方法 |
JPH0240720A (ja) * | 1988-07-29 | 1990-02-09 | Nec Corp | 目的プログラム出力指示方式 |
Also Published As
Publication number | Publication date |
---|---|
JP2802005B2 (ja) | 1998-09-21 |
US5375239A (en) | 1994-12-20 |
CA2061298A1 (en) | 1993-08-18 |
US5604908A (en) | 1997-02-18 |
US5513357A (en) | 1996-04-30 |
CA2061298C (en) | 1996-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2802005B2 (ja) | 障害検出方法 | |
US8434054B2 (en) | System and method for managing cross project dependencies at development time | |
US7971201B2 (en) | Multiple operating device version software generating system and multiple operating device version software generation support program and method | |
US20050262482A1 (en) | System and method for efficiently analyzing and building interdependent resources in a software project | |
US5987251A (en) | Automated document checking tool for checking sufficiency of documentation of program instructions | |
US7765520B2 (en) | System and method for managing cross project dependencies at development time | |
CN111796831A (zh) | 一种多芯片兼容的编译方法和装置 | |
US20080244562A1 (en) | Method of Identifying and Checking Software Installation Requirements | |
KR20120139403A (ko) | 게임 서버의 작업 파일 실행 장치 및 방법 | |
Railić et al. | Architecting continuous integration and continuous deployment for microservice architecture | |
US20030005093A1 (en) | Server configuration versioning tool | |
CN113377431A (zh) | 一种代码处理方法、装置、设备及介质 | |
JP3553991B2 (ja) | プログラム制御方法 | |
CN110019144A (zh) | 一种大数据平台数据运维的方法和系统 | |
CN112860312A (zh) | 项目依赖关系变化的检测方法及装置 | |
CN115220863A (zh) | 容器应用的运维方法、装置、计算机设备和存储介质 | |
US8713550B2 (en) | Methods, devices and software applications for facilitating a development of a computer program | |
CN111563000B (zh) | 一种文件生成方法、智能终端及存储介质 | |
Danmin et al. | A formal specification in B of an operating system | |
EP4290368A1 (en) | Computer-implemented method and system for generating a command pipeline for controlling a technical device | |
US11971965B2 (en) | System and method for determining attribution associated with licensed software code | |
US20240272901A1 (en) | Control device and address management method | |
CN114297089B (zh) | 基于容器的Python远程动态调试方法及系统 | |
WO2007144891A1 (en) | A method for the distribution of software processes to a plurality of computers | |
US20230186019A1 (en) | Ai-based language testing process for ci/cd |