JP2531763B2 - プログラム・パッケ―ジの作成方法 - Google Patents

プログラム・パッケ―ジの作成方法

Info

Publication number
JP2531763B2
JP2531763B2 JP63290392A JP29039288A JP2531763B2 JP 2531763 B2 JP2531763 B2 JP 2531763B2 JP 63290392 A JP63290392 A JP 63290392A JP 29039288 A JP29039288 A JP 29039288A JP 2531763 B2 JP2531763 B2 JP 2531763B2
Authority
JP
Japan
Prior art keywords
level
block
program
information
field
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.)
Expired - Lifetime
Application number
JP63290392A
Other languages
English (en)
Other versions
JPH01161531A (ja
Inventor
ナザニイール・カルヴアート
ジエームズ・スコツト・エツフル
ジエームズ・リイ・メイロー
デヴイド・ローリイ・ジヨンストーン
ヘレン・マリイ・オールセン−ウイリアムズ
ロバート・ハリイ・サテイン
デニイーズ・リイ・シエイフアー
ガリイ・アルバート・ターク
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 JPH01161531A publication Critical patent/JPH01161531A/ja
Application granted granted Critical
Publication of JP2531763B2 publication Critical patent/JP2531763B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A.産業上の利用分野 B.従来技術 C.発明が解決しようとする問題点 D.問題点を解決するための手段 E.実施例 F.発明の効果 A.産業上の利用分野 この発明は、データ処理技術の分野に関するものであ
り、より詳しくは、ソフトウエアが、多重レベル階層形
式で構成された複数の置換可能なユニットから成つてい
る場合のコンピユータ・ソフトウエアのためのパツケー
ジング構造に関するものである。
B.従来技術 データ処理技術は、ユーザがコンピユータに、きわめ
てわずかの人的介入でその資源を管理することを期待す
るところまで発展してきた。そして、自動構成化や問題
決定手続を通じてコンピユータ・システムのハードウエ
ア部分を管理するための研究は多くなされてきたが、コ
ンピユータのソフトウエア部分を効果的に管理すること
はほとんど研究されていない。
最近の典型的ユーザーは、特定のアプリケーシヨンを
実行するために異なる複数のプログラムを必要とする。
これらのプログラムは多くの場合異なるプログラム開発
者によつて作成されている。しかし、各プログラムは、
ハードウエアとソフトウエアの両方に依存する要因をも
ち、ユーザーなりプログラム開発者なりが、これらのす
べての要因が満たされるような統合されたシステムを組
立てることがますます困難になりつつある。さらに、正
しく動作するべくある保守またはリリース・レベルを保
つために、1つのソフトウエアが他のソフトウエアに依
存することがある。多くの場合、ユーザーがこの依存性
の問題を匡正する唯一の方法は、試行錯誤、あるいは多
数の参照マニユアルを労力を費してめくることである。
ソフトウエアの構造は、しばしば各プログラム開発者
のスタイルとその場の思いつきにまかされるものであつ
て、2つのプログラムが同一の作成者によつて開発され
た場合ですらも、一方のプログラムが、他方のプログラ
ムについての保守レベルや依存パラメータなどの情報を
容易に見出すことができるように2つのプログラムが一
貫した構造をもつことは稀である。
プログラム開発者とユーザーが最近直面する他の問題
としては、プログラムが常に、訂正すべきエラーを含ん
でいるということがある。通常、プログラム開発者はそ
れらのエラーを直すために、各ユーザーに全く新しいプ
ログラムを送付しなくてはならず、問題のある小部分の
コードのみを取り替える有効な方法はないのである。
アプリケーシヨン開発者の仕事は今日複雑さを増して
いる。すなわち、ユーザーがアプリケーシヨン開発者
に、自己の特定の要求に適うようにアプリケーシヨン・
パツケージを作成するように要望するとき、アプリケー
シヨン開発者は、ユーザーの要求を満たすように複数の
異なるプログラムを結合し、それでいて将来の機能拡張
のための柔軟性を用意しておくという問題に遭遇するこ
とがある。多くの場合、アプリケーシヨン開発者は、ユ
ーザーが要求しない機能を実行したり、ユーザーが要求
するすべての機能を実行する訳でなない汎用プログラム
の高価な非構造化集合体で満足するよりない。さらに、
汎用プログラムの集合体は、ユーザーが使用しない機能
を記憶することによつて、必要以上のメモリを非効率に
も使用してしまう。 このことは、メモリを使い切つて
しまつて、コンピユータ上にそれ以上の必要なプログラ
ムを記憶することのできないユーザーには特に難事であ
る。
プログラム開発者が、ユーザーに、自らが開発したプ
ログラムに満足してもらいたがつているのは明らかであ
る。しかし、個々のユーザーすべての要求をみたすよう
に仕立てられたプログラムを開発することは現在ではあ
まりにコストがかかりすぎる。プログラム開発者は、プ
ログラムのすべての機能を必要とするユーザーから、そ
の1つの機能しか必要としないユーザーまでのすべての
ユーザーの要求をみたすようなプログラムを開発しよう
と望んでいることだろう。もしこれを行うことができれ
ば、プログラム開発者は各ユーザーに、必要な機能の分
だけの料金を課せばよくなる。そして、ユーザーの要求
が増大しても、追加の料金を払うだけで、ユーザーに同
一のプログラムの追加の機能が与えられる。
C.発明が解決しようとする問題点 本発明の目的は、データ処理システムにおいて、ソフ
トウエア・プログラムの効率的管理を可能ならしめるこ
とにある。
本発明の他の目的は、アプリケーシヨン・パツケージ
が、多重レベル階層模式で構成された1以上のプログラ
ム(各々のプログラムは、夫々1以上の機能を有する、
以下「交換可能ユニット」とする)からなるような場合
にコンピユータ・ソフトウエアのためのパツケージング
構造を与えることにある。
本発明のさらに他の目的は、アプリケーシヨン・パツ
ケージがその階層構造の一体的部分として自己識別レベ
ル、保守レベル、及びハードウエアとソフトウエアに対
する依存性を含むようにすることにある。
本発明のさらに他の目的は、プログラム開発者がプロ
グラム・パツケージを構築するために使用することがで
き、アプリケーシヨン開発者がアプリケーシヨン・パツ
ケージを構築するために使用することができるパツケー
ジング・ツールを提供することにある。
D.問題点を解決するための手段 ソフトウエア・アプリケーシヨン・パツケージは、リ
ンクされた複数の交換可能なユニツト(RU)からなる。
各RUは、他のRUに悪影響を及ぼすことなくサービス可能
である。RUは、一連のレベルで階層的に配列されてい
る。好適な実施例では、次の5つのレベルが使用され
る:アプリケーシヨン・グループ・レベル(AG)、ロー
ド可能コード・グループ・レベル(LCG)、主要機能グ
ループ・レベル(PFG)、2次機能グループ・レベル(S
FG)、及びオペレーショナル・コード・グループ・レベ
ル(OCG)。AGレベルは、ユーザーの要求を満たすよう
に仕立てられた高レベル・アプリケーシヨンを実行する
ように結合されたコンピユータ・プログラムのグループ
である。LCGレベルは、めいめいが汎用タスクを実行す
るように作成された個々のプログラムを定義する。PFG
レベルは、LCGレベルで定義された共通プログラムを、
より特定の主要な機能のセツトまで絞つたものである。
SFGレベルは、PFGレベルで定義された主要機能を、特定
のユーザーの要求により緊密に合致するように仕立てら
れた特殊化された2次機能のセツトまで絞つたものであ
る。OCGレベルは、上記4つのレベルによつて定義され
た特殊化されたユーザー・アプリケーシヨン・パツケー
ジを実行するために必要なオペレーシヨナル・コードを
含む。
AG RUは1つまたはそれ以上のLCG RUにリンクし、
各RCG RUは1つまたはそれ以上のPFG RUにリンクし、
各PFG RUは1つまたはそれ以上のSFG RUにリンクし、
各SFG RUは1つまたはそれ以上のOCG RUにリンクす
る。このようにして、5つのレベルの階層構造が決定さ
れる。
各RUは、ヘツダ部分とボデイ部分からなる。各RUのヘ
ツダは、レベルに拘らず、自己識別情報と保守情報を含
み、またそのRUに固有のハードウエア及びソフトウエア
従属性のリストを含むこともできる。AG、LCG、PFG及び
SFGRUのボデイは、追加の自己識別及び保守情報に加え
て、階層的チエインの一部をなす次レベルのRUのリスト
を含む。RUに含まれる自己識別メンテナンス及び従属性
情報は、必須製品データ(VPD)としても知られる。OCG
レベル上の各RUのボデイは、プログラムを走らせるため
に使用されるオペレーシヨナル・コードを含む。
ソフトウエアの階層構造、RUの交換可能な性質、及び
RUに含まれる自己識別、メンテナンス及び従属性情報に
より、ソフトウエアが高度に精巧化されることが可能と
なる。この構造化されたソフトウエアは次に、前述した
ような多くのデータ処理に関連する問題を解決するため
に使用することができる。
プログラム開発者は、LCG、PFG、SFG及びOCGという4
つのレベルにパツケージされたプログラムを作成するた
めに本発明のプログラム・パツケージング・ツールを使
用することができる。また、アプリケーシヨン開発者
は、アプリケーシヨン・パツケージを作成するべくこれ
らのプログラム・パツケージのいくつかを結合するため
に、本発明のアプリケーシヨン・パツケージング・ツー
ルを使用することができる。このことは、選択されたプ
ログラム・パツケージの4つのレベルの頂点にAGレベル
を追加することによつて行なうことができる。さらに、
アプリケーシヨン開発者は、選択されたプログラム・パ
ツケージの主要(1次)及び2次機能を選択して、残り
の主要及び2次機能を省略することができる。本発明の
パツケージング構造及びパツケージング・ツールは、ア
プリケーシヨン開発者に、特定のユーザーの要求をみた
すように仕立てられたアプリケーシヨン・パツケージを
作成するための力と柔軟性を与える。
このロード可能なコード階層構造は、マイクロコード
や、市販プログラムや、ユーザーが開発したアプリケー
シヨンなどの異なるロード可能なコードのタイプのもの
を、各ロード可能コード・タイプに個別化されたツール
の組ではなく、共通の管理ツールの組を使用して管理で
きる点で、さらに別の恩恵を与えるものである。この能
力が存在するのは、各コード・タイプのパツケージング
構造が類似するからである。
E.実施例 第1図は、本発明の環境を示すものである。この図に
おいて、プログラム開発者21ないし24は、本発明に基づ
くパツケージング構造に従いパツケージされたプログラ
ムを開発する。尚、そのパツケージング構造については
後で詳しく説明する。プログラム開発者21ないし24は通
常、互いに独立に作業を進め、多くの場合他のプログラ
ム開発者と協力して完成する。尚、第1図には4人のプ
ログラム開発者しか示されていないが、本発明のパツケ
ージング構造に従うなら、数千人もの人々が全世界でプ
ログラムを開発し、プログラム開発者であることができ
る。
プログラム開発者21ないし24によつて開発されたプロ
グラムはライブラリ30中に配置される。ライブラリ30
は、プログラム開発者30によつて開発されたすべてのプ
ログラムの集合をあらわす。例えば、ライブラリ30は、
オペレーテイング・システム・プログラム、ワード処理
プログラム、スプレツドシート・プログラム、ゲーム・
プログラム、教育プログラム、通信プログラム、出版プ
ログラムなどを含むことができる。各プログラムは主要
(1次)機能及び2次機能を実行するが、これについて
は後述する。ライブラリ30にはプログラム31ないし35が
含まれており、これは第2図で詳述する。
アプリケーシヨン開発者26は、ライブラリ30中のプロ
グラムを取り出して、特定のユーザーの要求に適合する
ように仕立てられたアプリケーシヨン・パツケージを作
成するために、それらをパツケージし直す。ユーザーが
必要とするプログラムは、1つのアプリケーシヨン・パ
ツケージのもとで結合されて、そのアプリケーシヨン・
パツケージがユーザーに渡される。ユーザーが受取るア
プリケーシヨン・パツケージ中に、ユーザーが必要とす
るプログラムの汎用及び特殊機能のみが入れられるよう
に選択がなされる。
第1図において、アプリケーシヨン開発者26は、オフ
イス50で働くユーザー41ないし44のためにアプリケーシ
ヨン・パツケージを作成するという仕事を割当てられて
いる。オフイス50は、ユーザー41ないし44によつて使用
される4つのコンピユータ51ないし54をもつ。コンピユ
ータ51ないし54は、それぞれ記憶領域56ないし59をもつ
ている。そして、記憶領域56ないし59は、それぞれアプ
リケーシヨン・パツケージ61ないし64を含んでいる。
尚、各記憶領域には1つしかアプリケーシヨン・パツケ
ージが示されていないが、複数のアプリケーシヨン・パ
ツケージを格納してもよい。アプリケーシヨン・パツケ
ージ61ないし64は、プログラム開発者21ないし24によつ
て書かれライブラリ30に収められているプログラムから
アプリケーシヨン開発者26によつて作成されたものであ
る。アプリケーシヨン・パツケージ61ないし64は、それ
ぞれ、ユーザー41ないし44の要求をみたすように仕立て
られている。
プログラム開発者21ないし24は、本発明のパツケージ
ング構造に従いプログラムをパツケージするために、パ
ツケージング・ツール80を使用する。同様に、アプリケ
ーシヨン開発者26は、プログラム開発者21ないし24によ
つて作成されたプログラムを、特定ユーザーの要求に適
合されたアプリケーシヨン・パツケージ中に再パツケー
ジするために、パツケージング・ツール90を使用する。
パツケージング・ツール80と90はきわめてよく似てお
り、その詳細は後で第7図ないし第20図に関連して説明
する。
第2A図および第2B図は、ライブラリ30に含まれている
プログラム31ないし35をより詳細に示すものである。プ
ログラム31ないし35が、頂点のないピラミツドのように
図形表示されていることに注意されたい。この図は、こ
れらのプログラムがパツケージング構造に従つて書かれ
ているけれども、未だアプリケーシヨン・パツケージの
1部ではないことを示している。
プログラム31は、ワード処理プログラムである。この
プログラムは、文書処理とスペル・チエツクという2つ
の主要な機能を有する。この文書処理主要(1次)機能
は、内容テーブル能力、索引生成能力、及び意匠プリン
テイングという3つの2次機能をもつ。スペル・チエツ
ク1次機能は、一般用語、法律用語、及び医学用語とい
う3つの2次機能をもつ。各2次機能は、特定の機能を
実行するために使用されるレベル5000上に対応するオペ
レーシヨナル・コードをもつ。
プログラム32は通信プログラム、プログラム33は通信
プログラム、プログラム34はオペレーテイング・システ
ム、プログラム35はチエス・プログラムである。このと
き、チエス・プログラム35以外は複数の1次機能と複数
の2次機能をもつことに注意されたい。チエス・プログ
ラム35は簡単なので、1次且つ2次の機能を1つしかも
つていない。
プログラム31ないし35は、パツケージング・ツール80
を使用してプログラム開発者によつて作成されるプログ
ラムの単なる例示である。プログラム開発者は、1次及
び2次機能として望むものを選択することにつき広い柔
軟性を与えられている。そして、より多くの1次及び2
次機能を選択するほど、プログラムはより汎用的にな
り、より一層アプリケーシヨン開発者が、そのプログラ
ムを特定のユーザーの要求をみたすように仕立てられた
アプリケーシヨン・パツケージ中に含めることができる
ようになる可能性が高まる。
第1図及び第2図を参照して、オフイス50が小さい法
律事務所であると仮定する。アプリケーシヨン開発者26
は、ユーザー41と打合わせた後に、ユーザー41がワード
処理プログラム31と、会計プログラム33と、オペレーテ
イング・システム34は必要としているけれども、通信プ
ログラム32あるいはチエス・プログラム35は必要としな
いと結論したとする。また、アプリケーシヨン開発者26
が、ユーザー41がワード処理プログラムの文書処理及び
スペル・チエツク1次機能を必要とするとともに、内容
テーブル生成、一般用語及び法律用語2次機能を必要と
しているけれども他の2次機能は必要としていないと結
論したとする。同様にして会計プログラム33及びオペレ
ーテイング・システム34のいくつかの1次及び2次機能
が選択され、ユーザー41の要求に基づきいくつかの機能
が省かれる。アプリケーシヨン開発者26は、プログラム
31、33、及び34をアプリケーシヨン・パツケージ61へと
再パツケージし、それをユーザー41に渡し、ユーザー41
はそれを自分のコンピユータ51のメモリ56中に記憶す
る。アプリケーシヨン・パツケージ62ないし64も同様に
してユーザー42ないし44の要求に基づき作成される。ア
プリケーシヨン開発者26は、アプリケーシヨン・パツケ
ージ61ないし64を作成するためにパツケージング・ツー
ル90を使用するが、これについては後述する。
第3図は、ユーザー41のためにアプリケーシヨン開発
者26によつて作成されたアプリケーシヨン・パツケージ
61をあらわす。アプリケーシヨン・パツケージ61は、頂
部が完成されたピラミツドとして図形表示されているこ
とに注意されたい。アプリケーシヨン・パツケージ61
は、ユーザー41が必要とするだけの1次及び2次機能を
含む。そしてもしユーザー41の要求が変更されるとき
は、新しいアプリケーシヨン・パツケージをユーザー41
用に作成することができる。
アプリケーシヨン・パツケージ61が5つのレベル100
0、2000、3000、4000及び5000から成ることに注意され
たい。この好適な実施例の5つのレベルのパツケージン
グ構造は第4図以降に詳細に示されている。
第4図は、この好適な実施例のソフトウエア管理構造
をあらわす。ここで5つのレベルが示され、その階層的
性質を強調するため構造がピラミツド形状として図示さ
れていることに注意されたい。その最上レベルである、
アプリケーシヨン・グループ(AG)レベル1000は、高レ
ベル・ユーザー・アプリケーシヨンを形成するように結
合される1グループのコンピユータ・プログラムを規定
する。第2のレベルである、ロード可能コード・グルー
プ・レベル(LCG)2000は、めいめいが汎用タスクを実
行する個々のプログラムを規定する。例えば、第3図の
アプリケーシヨン・パツケージ61は、ロード可能コード
・グループ・レベル2000上に、ワード処理プログラム
と、会計プログラムと、オペレーテイング・システムを
有する。第3のレベル、1次機能グループ・レベル(PF
G)3000は、LCGレベルに規定されている共通プログラム
を、1次機能のより特定の組へとふるいをかける。例え
ば、第3図のアプリケーシヨン・パツケージ61のLCGレ
ベル上のワード処理プログラムの場合、PFGレベルが文
書処理及びスペル・チエツクの1次機能を含む。それと
同一タイプの絞り込みは、LCGレベル上の他のプログラ
ムにも生じうる。
第4のレベルである、2次機能グループ・レベル(SF
G)4000は、PFGレベルに規定された2次機能を、より密
接に特定ユーザーの要求をみたすように仕立てられた一
層特殊化された2次機能の組へとふるいをかける。SFG
レベルは、コンピユータ・システム上にロード可能な所
与の動作可能機能毎のRUの最小の個数を識別する。例え
ば、第3図のアプリケーシヨン・パツケージ61のPFGレ
ベル上のスペル・チエツク1次機能の場合、SFGレベル
は一般用語及び法律用語の2次機能を含む。これと同一
タイプの絞り込みは、PFGレベル上の他の1次機能の場
合にも行うことができる。
最後のレベルである、オペレーシヨナル・コード・グ
ループ・レベル(OCG)5000は、上記4つのレベルによ
つて決定された特殊化されたユーザー・アプリケーシヨ
ンを走らせるのに必要なオペレーシヨナル・コードを含
む。
第5図は、第4図の好適な実施例の階層構造をより詳
細に図示するものである。ここでAGレベル1000が交換可
能ユニツト(RU)1000からなることに注意されたい。RU
1100の内容は第6A図等で詳細に説明される。RU1100は、
LCGレベル2000上の少くとも1つのRUに接続される。第
5図は、RU1100が、LCGレベル2000上のRU2100に接続さ
れている様子を示す。RU2100の内容も第6A図等を参照し
て後述する。RU2100は、PFGレベル3000上の少くとも1
つのRUに接続される。第5図は、RU2100が、PFGレベル3
000上のRU3100に接続されている様子を示す。RU3100の
内容もまた、第6A図等を参照して後述する。RU3100は、
SFGレベル4000上の少くとも1つのRUに接続される。第
5図は、RU3100がRU4100に接続されている様子を示す。
RU4100の内容もまた、第6A図等を参照して後述する。RU
4100は、OCGレベル5000上の少くとも1つのRUに接続さ
れる。第5図は、RU4100がRU5600に接続されている様子
を示す。RU5600の内容は、第6B図等を参照して後述す
る。
第6A図は、AG、LCG、PFG及びSFGレベルを形成するた
めに使用される交換可能ユニツトを詳細に示す図であ
る。交換可能ユニツト100はヘツダ110とボデイ120とか
らなる。ヘツダ110は固定ヘツダ・ブロツク200と可変ヘ
ツダ・ブロツク300とからなる。ボデイ120は、固定グル
ープ情報ブロツク400と可変グループ情報ブロツク500か
らなる。固定ヘツダ・ブロツク200は長さ情報部分220
と、RU ID情報部分230と、オフセツト情報部分260から
なる。長さ情報部分220は、RU100の全体の長さと、RU10
0のボデイ120の長さを常に記録する。RU ID情報部分23
0は、第5図の他のすべての交換可能ユニツトからこの
特定の交換可能ユニツトを一意的に識別する自己識別情
報である。さらにRU ID情報部分230は、この特定のRU
の保守レベルを決定するために使用することのできる保
守情報を含む。
オフセツト情報部分260は、可変ヘツダ部分300中のデ
ータと、固定グループ情報部分400へのオフセツトを含
む。特に、オフセツト情報部分260は、可変ヘツダ300中
のシステム特定データ部分320、ハードウエア従属部330
及びソフトウエア従属部分360へのオフセツトを有す
る。オフセツト情報260はまた、固定グループ情報ブロ
ツク400へのオフセツトを有する。固定ヘツダ・ブロツ
ク200に含まれている特定のフイールドは、この後の表
1に示し、可変ヘツダ・ブロツクはこの後の表2に示
す。
再び第6A図を参照すると、ボデイ120は固定グループ
情報ブロツク400と可変グループ情報ブロツク500からな
る。固定グループ情報ブロツク400は、ボデイ長情報部
分420と、グループID情報部分430と、グループ・オフセ
ツト情報部分460を含む。ボデイ長情報部分420は、ボデ
イ120の全長を記録し続ける。グループID情報部分は、
追加的な自己識別情報部分と保守情報を含む。グループ
・オフセツト情報部分460は、可変グループ情報ブロツ
ク500へのオフセツトを有する。特に、グループ・オフ
セツト情報部分460は、グループ特定データ部分520中の
データへのオフセツトと、次レベル・エントリ部分540
のリストへのオフセツトを有する。
固定グループ情報ブロツク400と可変グループ情報ブ
ロツク500に含まれている特定フイールドは、RU100がAG
レベル1000、またはLCGレベル200、またはPFGレベル300
0、またはSFGレベル400のどれにあるかに依存する。も
し交換可能ユニツト100がAGレベル1000内にあるなら、
固定AG情報ブロツク1400は表3(後述)に詳述するとお
りであり、可変AG情報ブロツク1500は表4(後述)に詳
述するとおりである。もし交換可能ユニツト100がLCGレ
ベル2000にあるなら、固定LCG情報ブロツク2400は表5
(後述)に詳述するとおりであり、可変LCG情報ブロツ
ク2500は表6(後述)に詳述するとおりである。同様
に、変換可能ユニツト100がPFGレベル3000にあるなら、
固定PFG情報ブロツク3400は表7(後述)に詳述すると
おりであり、可変PFG情報ブロツク3500は表8(後述)
に詳述するとおりである。最後に、変換可能ユニツト10
0がSFGレベル4000にある場合、固定SFG情報ブロツク440
0は表9(後述)に詳述するとおりであり、可変SFG情報
ブロツク4500は表10(後述)に詳述するとおりである。
第6B図の交換可能ユニツト600について次に説明す
る。交換可能ユニツト600はOCGレベル5000にのみ在駐す
る。ここで、交換可能ユニツト600が、第6A図に示す交
換可能ユニツト100のヘツダ部分110と同一のヘツダ部分
110をもつことに注意されたい。交換可能ユニツト600も
またボデイ部分620をもつが、これは交換ユニツト100の
ボデイ120とは異なる。特に、ボデイ620はオペレーシヨ
ナル・コード630を含む。オペレーシヨナル・コード630
は構築されたものではなく、プログラムのデータまたは
実行可能コードである。オペレーシヨナル・コード630
はオプシヨンとして、追加的な重要製造データ(自己識
別、保守及び従属情報)を含む。
第6A図に関連して既述したように、交換可能ユニツト
100のヘツダは、交換可能ユニツト100が位置しているレ
ベルに拘らず同一のフイールドをもつ。第1表は、固定
ヘツダ・ブロツクをより詳細に示すものである。
表1において、フイールド211は、この特定のRUの長
さを識別するフイールド222はこのRUのボデイの全長を
識別する。この情報は、RUを連鎖させるために使用され
る。ID情報部分230は、自己識別情報の複数のフイール
ドと、保守情報の複数のフイールドを含む。RU名フイー
ルド231は、RUを管理する際に、システムによつて使用
される。特定のRUに与えられる名前は、そのRUをシステ
ム中の他のすべてのRUから区別し得るように固有のもの
である。表11(後述)の列17400がRU名の例を示してい
る。RU参照IDフイールド232は、RUの追加的な視覚識別
子を与える。RUロード識別(ID)フイールド233は、対
応する初期プログラム・ロードIDをもつ1つの装置によ
つて要求される特殊なロードとしてRUを識別する。これ
により、システムが、初期プログラム・ロード処理の間
にロードされなくてはならないRUを決定するための機構
が与えられる。尚、RUロードIDフイールド233がオプシ
ョンであることに注意されたい。LCG及びAG IDフイー
ルド234と、PFG IDフイールド236と、SFGIDフイールド
237は、階層的チエイン内の他のRUのIDを含む。
固定ヘツダ200のID情報部分230の保守情報フイールド
について説明する。RU命令セツト・フイールド241は、R
Uボデイ中のデータが互換であるマシン命令セツトを識
別する。このフイールドはオプシヨンである。RU制御情
報フイールド242は、RUを管理するために使用される複
数のフラグを含む。第1のフラグは、RUが修正されてい
たならセツトされるRU修正フラグである。第2のフラグ
は、この特定のRUが何らかのハードウエアまたはソフト
ウエア従属性をもつならセツトされるRU従属性フラグで
ある。第3のフラグは、このRUが、AG、PFG、SFGまたは
OCG RUのどれであるかを記述するRUタイプ・フラグで
ある。
RU開発情報フイールド243は、このRUを開発した特定
の研究所などの、このRUの初期の開発に関する情報を含
む。RU作成日フイールド244とRU作成時間フイールド246
は、このRUが作成された日時のタイム・スタンプを含
む。RU導入日フイールド247とRU導入時間フイールド
は、このRUがシステム上に導入された日時のタイム・ス
タンプを含む。RUバージヨン・レベル・フイールド249
とRUリリース修正レベル・フイールド250は、この特定R
Uの保守レベルを識別する。RU一時固定IDフイールド252
及びRUパツチ・フイールド253はオプシヨンであつて、
このRUのためになされた一時的設定(fix)またはパツ
チに名前を与える。フイールド257及び258は、RUのコン
パイラについての情報を識別する。
次に、固定ヘツダ・ブロツク200のオフセツト情報部
分260を形成するフイールドについて説明する。RUボデ
イ・フイールド261へのオフセツトは、このRUのボデイ
の開始位置を指し示す。RUシステム特定データ・フイー
ルド262へのオフセツトは、RUの可変ヘツダ・ブロツク
に含まれている何らかのシステム特定データの開始位置
を指し示す。RUハードウエア従属リスト・フイールドへ
のオフセツトは、RUの可変ヘツダ・ブロツクに含まれて
いるソフトウエア従属リストの開始位置を指し示す。フ
イールド265は、RU特定情報の開始位置を指し示す。フ
イールド267は、もし存在するなら、OCGボデイ中の埋込
VPDを指し示す。
RUフイールド266を含むシステム各領域は、そのRUが
在駐するシステム・メモリ中の位置の名前を含む。位置
名の例は、後術の表11の例17600に示されている。フイ
ールド270及び271は、RUが最後に修正された日時を含
む。フイールド272は、可変ヘツダ中に含まれているヘ
ツダ拡張データを指し示す。
表2は、可変ヘツダ・ブロツク300のフイールドをよ
り詳しく示すものである。
この表において、システム特定データ部分320は、シ
ステム特定データ長フイールド321とシステム特定デー
タ・フイールド322からなる。
可変ヘツダ・ブロツク300のハードウエア従属リスト
部分330に含まれているフイールドについて次に説明す
る。フイールド331は、ハードウエア従属リスト中のエ
ントリの数を含む。フイールド332ないし337及び339
は、ハードウエア従属リスト中の1つのエントリを形成
し、そのことはそのリスト中の複数のエントリに対して
反復される。フイールド332はRUハードウエア相関IDを
含む。もしハードウエアの異なる複数の部分が常に一緒
に使用されるべきであるなら、それらには同一の相関ID
が与えられることになる。フイールド333、335、336及
び337はそれぞれ、このRUが従属するハードウエアの特
定の部分のタイプと、モデル番号と、レベルID番号と、
部品番号を含む。
可変ヘツダ・ブロツク300のソフトウエア従属リスト
部分360に含まれているフイールドについて次に説明す
る。フイールド361はソフトウエア従属リストのサイズ
を含み、フイールド362はソフトウエア従属リスト中の
エントリの数を含む。これらのフイールドはリスト中の
各エントリ毎に反復される。フイールド363はソフトウ
エア従属リスト中のこの特定のエントリのサイズを含
む。フイールド364は、ソフトウエア従属リスト中のこ
のエントリのソフトウエア相関IDを含む。もしソフトウ
エアの異なる複数の部分が常に一緒に使用されるべきな
ら、それらには同一の相関IDが与えられることになる。
ソフトウエア従属リスト中に含まれているソフトウエ
ア・プログラムは、本発明の開示のように構成されてい
ると想定する。それゆえ、このRUが従属するソフトウエ
ア・プログラムを構成するRUの階層的チエインが示され
なくてはならない。そして、LCD IDフイールド367、LC
G−PFG IDフイールド370及びPFG−SFG IDフイールド3
73が、この階層チエインを決定する情報を与える。フイ
ールド368及び369は、従属するソフトウエア・プログラ
ムのLCGのバージヨン・レベル及びリリース/修正レベ
ルを示す。同様に、フイールド371及び372にはLCG−PFG
チエインのバージヨン・レベル及びリリース/修正レベ
ルが示され、PFG−SFGチエインのバージヨン・レベル
と、リリース/修正レベルと、中間PCレベルがフイール
ド374ないし376に示されている。フイールド381ないし3
84は、ヘツダ拡張子を形成する。フイールド382は、RU
の部品番号を示す。フイールド383は、RUの短記述を含
む。RUの短記述の例は、表11(後述)の列17050に示さ
れている。
次に、第6A図に示した交換可能ユニツト100のボデイ1
20のフイールドについて詳細に記述する。ボデイ120
は、既述のように、固定グループ情報ブロツク400と可
変グループ情報ブロツク500を含む。ブロツク400及び50
0は、RUが階層チエイン中のどのレベルにあるかに応じ
て異なるフイールドをもつ。固定AG情報ブロツク1400は
AGレベル1000上の交換可能ユニツト1100中にあり、表3
により詳しく示されている。
この表において、長さ情報部分1420は、AGボデイの全
長を記録し続けるフイールドを含む。
次に、RU1100の固定AG情報ブロツク1400のグループID
情報部分1430を形成するフイールドについて説明する。
フイールド1431ないし1439は、この特定のAG RUを構築
したベンダ(納入者)の名前を識別する。このベンダは
通常、アプリケーシヨン・パツケージを構成したアプリ
ケーシヨン開発者である。フイールド1441は、このRUが
AGタイプのRUであることの視覚的識別を与える文字定数
である。フイールド1443ないし1446は、それぞれ、この
AG RUの識別子、部品番号、バージヨン・レベル及びリ
リース/修正レベルを記述する。フイールド1447及び14
48は、このAG RUに対してなされた何らかの中間的ある
いは一時的な(レベル間の)変更についての情報を含
む。フイールド1449は、RUの所有者からの著作権情報を
含む。
次にRU1100の固定AG情報ブロツク1400のオフセツト情
報部分1460を形成するフイールドについて説明する。フ
イールド1463は、階層チエインにおいてこのAG RUに接
続されたLCG RUのリストを指し示す。このリストは、
表4(後述)により詳しく示されている可変AG情報ブロ
ツク1500に含まれている。フイールド1464は、表4に示
されている可変AG情報ブロツク1500中に示されているAG
特定データの開始位置を指し示す。
表4の可変AG RU情報ブロツク1500を形成するフイー
ルドについて次に説明する。
この表において、AG特定データ部分1520は、AG特定デ
ータの長さを含むフイールド1521と、AG特定データを含
むフイールド1522からなる。
次に、LCGリスト1540を形成するフイールドについて
説明する。フイールド1541は、LCGリストのサイズを決
定し、フイールド1543はLCGリスト中のエントリの数を
決定する。フイールド1545ないし1556はLCGリスト中の
1つのエントリを形成し、それはLCGリスト中の各エン
トリ毎に反復される。フイールド1545は、選択/省略フ
ラグであり、これは、もし有効化されているなら、この
LCGを、そのAGのために選択されていると識別する。フ
イールド1546は、このLCGがAGによつて利用可能かどう
かを示す。フイールド1547は、可用なLCGがシステム上
に導入されているかどうかを示す。フイールド1548は、
導入されたLCGがこのシステム上で走るように有効化さ
れているかどうかを示す。フイールド1546ないし1548
は、拡張または性能向上のためにユーザーが必要とする
ところまで、LCGを、ユーザーに送られているけれども
そのユーザー用に有効化されていないアプリケーシヨン
・パツケージの一部として含めるものである。例えば、
支払可能会計のLCGをユーザーに供与することができる
けれども、それはユーザーがそのアプリケーシヨンを性
能向上してこの追加の機能を必要とするまで有効化され
ない。これらのフイールドまたは、ソフトウエアのコピ
ー保護機能の一部としても使用することができる。
フイールド1550は、この特定のLCGが在駐するシステ
ム中の位置を含む。システム位置の名前の例が表11(後
述)の列17600に示されている。フイールド1552は、こ
の特定のLCGを一意的に識別するためにシステムによつ
て使用されるLCGの名前を含む。RU名の例は、表11の列1
7400に示されている。フイールド1554はLCGの識別子を
含む。LCG IDの例は表11の列17100に示されている。フ
イールド1555及びフイールド1556はそれぞれLCGエント
リのバージヨン・レベル及びリリース/修正レベルを含
む。
表5は、LCGレベル2000(第5図)にあるRU2100の固
定LCG情報ブロツク2400内に形成されているフイールド
を記述する。尚、これらのフイールドの多くは、表3に
示されている固定AG情報ブロツク1400中のフイールドに
類似する。これらのフイールドの記述については、表3
に関連する記述を参照されたい。フイールド2431ないし
2439に含まれているベンダ情報は通常、そのプログラム
・パツケージを作成したプログラム開発者についてのも
のである。フイールド2463は、このLCG RUにリンクさ
れたPFG RUのリストを指し示す。このリストは、表6
に示されている。可変LCG情報ブロツク2500に含まれて
いる。フイールド2464は、やはり表6の可変LCG情報ブ
ロツク2500に含まれているAGデータを指し示す。フイー
ルド2467は、ブロツク2500にある出口プログラムを指し
示す。
RU2100の可変LCG情報ブロツク2500が表6に示されて
いる。尚、表6の可変LCG情報ブロツク2500中のフイー
ルドの多くは、表4の可変AG情報ブロツク1500中のフイ
ールドと同様であることに注意されたい。そしてこれら
のフイールドの記述に対応する表4の説明を参照された
い。また、表5のフイールド2465に述べたAGデータが表
6のフイールド2531ないし2533に示されている。これら
のフイールドに含まれている情報により、LCGが、接続
するAGを識別することが可能となる。出口プログラムの
名前と位置がフイールド2561ないし2569に示されてい
る。これらのプログラムは、アプリケーシヨン・パツケ
ージまたはプログラム・パツケージを作成しつつある間
にエラーが生じたときにコールされる。
表7は、PFGレベル3000(第5図)上のRU3100の固定P
FG情報ブロツク3400を示す。ここで再び、表7の固定PF
G情報ブロツク3400のフイールドのいくつかが、表3の
固定AG情報ブロツク1400中のフイールドと同様であるこ
とに注意されたい。よつて、これらのフイールドの記述
に対応する表3の記載を参照されたい。しかし、ブロツ
ク1400及び2400中に含まれているベンダ情報はブロツク
3400には最早含まれていないことに留意されたい。フイ
ールド3434は、階層的チエイン中でこのPFG RUのため
のLCG IDを識別する。フイールド3463は、このPFG RU
に連結されたSFG RUのリストを指し示す。このリスト
は表8(後述)に示されている可変PFG情報ブロツク350
0に含まれている。
フイールド3464は、表8の可変PFG情報ブロツク3500
にも含まれているPFG特定情報を指し示す。フイールド3
461及び3462は、もし存在さるならば、可変PFG情報ブロ
ツク3500中に含まれているハードウエア及びソフトウエ
ア従属データを指し示す。
表8は、レベル3000(第5図)上のRU3100の可変PFG
情報ブロツク3500を示す。尚、表8のブロツク3500のフ
イールドのいくつかは表4のブロツク1500中のフイール
ドと同様であることに注意されたい。これらのフイール
ドの記述に対応する表4の説明を参照されたい。
SFGレベル4000上にあるRU4100の固定SFG情報ブロツク
4400(第5図)が次の表9に示されている。
固定SFG情報ブロツク4400のフイールドの多くは、表
3の固定AG情報ブロツク1400と同様であることに注意さ
れたい。また、これらのフイールドの記載については、
表3の説明を参照されたい。フイールド4433及び4434
は、このSFG RUのための階層チエイン中のより高位レ
ベルにあるRUを識別する。
フイールド4461は、このSFG RUに連結されたOCG RU
のルストを指し示す。このリストは、表10に示すように
可変SFG情報ブロツク4500中に含まれている。フイール
ド4462は、可変SFG情報ブロツク4500中に含まれている
一時設置/パツチ活動を指し示す。フイールド4463は、
やはり可変SFG情報ブロツク4500中に含まれているSFG特
定情報を指し示す。
RU4100の可変SFG情報ブロツク4500が表10に示されて
いる。ブロツク4500(第5図)のフイールドのいくつか
は、表4のブロツク1500中のフイールドと同様であるこ
とに注意されたい。また、これらのフイールドの記述に
対応する表4の説明を参照されたい。
フイールド4561ないし4570は、このRUに接続された一
時設置/パツチ活動のリストを規定する。
ここで再び第1図を参照して、プログラム・パツケー
ジを構築するためにプログラム開発者21ないし24によつ
て使用されるプログラム・パツケージング・ツール80に
ついて説明する。プログラム・パツケージング・ツール
80は、第7図以下で示すように適切にプログラムされ
た、パーソナル・コンピユータ等の汎用コンピユータ上
で走るソフトウエアである。第7図は、プログラム・パ
ツケージを作成するためにプログラム開発者が使用する
ことができるツールのメニユーを示す。プログラム開発
者は、4つのレベル、すなわちLCG、PFG、SFG及びOCGの
4つのレベルでパツケージされたプログラムを作成する
ために、第7図に示すプログラム・パツケージング・ツ
ールを使用する。プログラム・パツケージング・ツール
11000により、プログラム開発者がプログラム・パツケ
ージを決定するのが可能となる。パツケージング・ツー
ル11000はその詳細が第8図以下に示されている。パツ
ケージング・ツール17000は、プログラム開発者が、パ
ツケージング・ツール11000によつて決定されたプログ
ラム・パツケージを表示するのを可能ならしめる。プロ
グラム開発者に表示されるプログラム・パツケージの例
が後述の表11に示されている。
第8図は、パツケージング・ツール11000の制御の全
体的な流れを示す図である。尚、第8図は、プログラム
・パツケージング・ツール11000とアプリケーシヨン・
パツケージング・ツール21000が類似であることによ
り、アプリケーシヨン・パツケージング・ツール21000
の制御の全体的な流れをも示していることに留意された
い。第8図から第20図に至るフローチヤートの中でアプ
リケーシヨン・パツケージング・ツール21000に固有の
ステツプには参照番号21000ないし21999が付与されてい
る。これらのステツプは、後で、アプリケーシヨン・パ
ツケージング・ツール21000に関連して説明する。
さて第8図を参照すると、判断ブロツク11010は、プ
ログラム開発者に、LCGを決定したいと思つているのか
どうかを質問するものである。そしてもしプログラム開
発者が、LCGボデイを決定したいということをあらわす
なら、ブロツク11100でLCGボデイが決定される。ブロツ
ク11100の詳細は第9図に示されている。次にブロツク1
1200ではLCGヘツダが決定される。ブロツク11200の詳細
は第15図に示されている。判断ブロツク11020はプログ
ラム開発者に、PFGを決定したいかどうかを問うもので
ある。もしそうなら、ブロツク11400でブロツク11400の
詳細が決定される。次にブロツク11200でPFGヘツダが決
定される。ブロツク11200の詳細は第15図に示されてい
る。尚、ブロツク11200は、LCG、PFG、SFG、AG及びOCG
レベルの決定に共通であることに留意されたい。
判断ブロツク11030は、プログラム開発者に、SFGを決
定したいかどうかを問うものである。もしそうなら、SF
Gボデイがブロツク11500で決定される。ブロツク11500
の詳細は第17図により詳細に示されている。次にブロツ
ク11200でSFGヘツダが決定される。判断ブロツク11050
はプログラム開発者にOCGを決定したいかどうかを問う
ものである。もしそうなら、ブロツク11060は、プログ
ラムのオペレーシヨナル・コードまたはデータを含むOC
Gボデイへとつながる。ブロツク11200はOCGヘツダを決
定するものである。ブロツク11070はプログラム開発者
に、ツール11000を用いて作業を行つたのかどうかを問
うものである。尚、もしプログラム開発者がスクラツチ
からプログラム・パツケージを設計しているのであれ
ば、最初にOCGを決定し、次にSFGを、次にPFGを、次にL
CGを決定することになることに注意されたい。
第9図は、第8図のブロツク11100がどのようにLCGボ
デイを決定するのかを示すものである。ブロツク11110
は、プログラム開発者に、表5に示すフイールド2431な
いし2439に含まれているベンダ情報を入力するようにプ
ロンプトする。典型的には、これらのフイールドで求め
られているベンダは、プログラム開発者自身であるかま
たは彼が所属する会社であるが、他のベンダをここに記
入してもよい。ブロツク11110は、プログラム開発者
に、LCGのための文字定数をセツトするように要求す
る。このデータは表5のフイールド2440に含まれてい
る。ブロツク11111は、プログラム開発者に、LCG IDと
部品番号とを要求する。この情報は表5のフイールド24
50及び2451に配置される。ブロツク11112はプログラム
開発者に、LCG保守レベル情報と著作権情報を入力する
よう要求する。この情報は、表5のフイールド2452ない
し2456に配置される。ブロツク11120はこのLCGに関連す
るPFGリストを決定する。ブロツク11120は第10図にその
詳細が示されており後で説明する。ブロツク21113及び2
1130はアプリケーシヨン開発者によつて使用され、これ
についても後で説明する。
判断ブロツク11114はプログラム開発者に、LCG特定デ
ータが必要かどうかを問うものである。もしそうならば
ブロツク11140でLCG特定データが決定される。ブロツク
11140は第12図により詳細に示され、後で詳しく説明さ
れる。ブロツク11115はプログラム開発者に、このLCGが
従属する何らかのハードウエアがあるかどうかを問うも
のである。もしそうなら、ブロツク11160でLCGハードウ
エア従属リストが決定される。ブロツク11160は第13図
により詳細に示され、後で説明される。
判断ブロツク11116はプログラム開発者に、このLCGが
従属する何らかのソフトウエアがあるかどうかを問う。
そしてもしそうなら、ブロツク11180でLCGソフトウエア
従属リストが決定される。ブロツク11180は第14図によ
り詳細に示され、後で説明される。ブロツク11117は、
第9図でプログラム開発者によつて決定されたLCGボデ
イの内容をセーブする。ブロツク11118は制御の流れを
ブロツク11200へと進め、そこでLCGヘツダが決定され
る。ブロツク11200は第15図に関連してより詳細に説明
される。
第10図は、ブロツク11120中でPFGリストが決定される
様子をより詳細に示すものである。ブロツク11121はプ
ログラム開発者に、PFG名とIDを求める。この情報は、
表6のフイールド2550及び2552に配置される。ブロツク
11122はプログラム開発者にPFG保守レベルを要求する。
この情報は表6のフイールド2553及び2554に配置され
る。ブロツク11124は、ユーザーがこのリスト中で他のP
FGを決定したいと望んでいるかどうかを問うものであ
る。もしそうなら、すべてのPFGが決定されるまでブロ
ツク11121ないし11123が決定される。すべてのPFGがこ
のリスト中で決定されると、ブロツク11125が表6の、P
FGエントリ・サイズ及びエントリ数フイールド2541及び
2543をセツトする。ブロツク11126は第9図のブロツク2
1113へと戻る。
ブロツク11140がLCG特定データを決定する様子の詳細
が第12図に示されている。ここでブロツク11141は、プ
ログラム開発者にLCG特定データを求めるものである。L
CG特定データは表6のフイールド2522に配置される。ブ
ロツク11142は、フイールド2522の内容に基づきLCG特定
データの長さをセツトする。その長さは表6のフイール
ド2521に配置される。ブロツク11143は、第9図のブロ
ツク11115に戻る。
ブロツク11160がLCGハードウエア従属リストを決定す
る様子の詳細が第13図に示されている。判断ブロツク11
161はプログラム開発者に、ハードウエア相関IDがこの
ハードウエア従属リストに必要かどうかを問うものであ
る。そしてもしそうなら、ブロツク11162に示すよう
に、表2のフイールド332にハードウエア相関IDが配置
される。ブロツク11163はプログラム開発者はハードウ
エア・タイプとモデル番号を入れるようにプロンプトす
る。この情報は表2のフイールド333及び335に配置され
る。判断ブロツク11164はプログラム開発者にハードウ
エア従属リスト中のこのエントリにロードIDが必要かど
うかを質問する。そしてもしそうなら、ハードウエア・
ロードIDがブロツク11165に示すように表2のフイール
ド336中に配置される。もしそうでないならブロツク111
65はスキツプされる。ブロツク11166はプログラム開発
者にハードウエア部品番号を入力するようにプロンプト
する。この情報は表2のフイールド337に入れられる。
判断ブロツク11167はこのリスト上でさらにハードウエ
ア従属性があるかどうかを質問するものである。もしそ
うなら、すべての従属性がこのリスト上に取り込まれる
までブロツク11161ないし11166が反復される。そうして
このリスト上にすべてのハードウエア従属性が取り込ま
れると、ブロツク11168が、この新しい情報を取得する
ために表5のハードウエア従属リストのサイズ・フイー
ルド338とエントリ数のフイールド331を更新する。ブロ
ツク11169は第9図のブロツク11116へ制御を戻す。
ブロツク11180がLCGソフトウエア従属リストを決定す
る様子の詳細が第14図に示されている。ブロツク11181
はプログラム開発者に、このソフトウエア従属リストに
ソフトウエア相関IDが必要かどうかを質問する。そして
もしそうならブロツク11182で示すように表2のフイー
ルド364にソフトウエア相関IDが配置される。もしそう
でないならブロツク11182はスキツプされる。ブロツク1
1183はプログラム開発者にソフトウエア従属タイプを入
力するよう要求する。この情報は表2のフイールド366
に配置される。ブロツク11184はプログラム開発者に、
従属するソフトウエアのLCG ID及び保守レベルを入力
するよう求める。この情報は表2のフイールド367ない
し369に配置される。ブロツク11185はユーザーに、従属
するソフトウエアがSFG RUかどうかを尋ねる。そして
もしそうならプログラム開発者はブロツク11186でSFG
IDと保守レベルを入れるようにプロンプトされる。この
情報は表2のフイールド373ないし375に配置される。
判断ブロツク11187は、SFG中間プログラム変更レベル
に対する従属性があるかどうかを尋ねるものである。も
しそうなら、ブロツク11188はプログラム開発者にSFGプ
ログラミング変更中間IDを入力するようプロンプトす
る。この情報はブロツク11190に示すように表2のフイ
ールド370ないし372に配置される。一方、もしそうでな
いなら、ブロツク11190はスキツプされる。ブロツク111
91はプログラム開発者に、すべてのソフトウエア従属性
が決定されたかどうかを尋ねる。もしそうでないなら制
御は第14図の始めに戻り、すべてのソフトウエア従属性
が決定されるまでブロツク11181ないし11190が繰り返さ
れる。一たんすべてのソフトウエア従属性が決定される
と、ブロツク11192が第2図のソフトウエア従属性サイ
ズ・フイールド361とエントリ数フイールド362を更新す
る。ブロツク11193は第9図のブロツク11117に戻る。
第8図のブロツク11200がLCGヘツダを決定する様子の
詳細が第15Aないし15C図に示されている。尚、LCGヘツ
ダが決定される様子は、第8図でPFGヘツダ、SFGヘツ
ダ、AGヘツダまたはOCGヘツダが決定される様子と同一
であることに注意されたい。第15A図において、ブロツ
ク11211はプログラム開発者にこのRUの名前と参照IDを
入力するようにプロンプトする。この情報は表1のフイ
ールド231及び232に配置される。ブロツク11212はプロ
グラム開発者にこのRUのバージヨン・レベルとリリース
・レベルを入力するようにプロンプトする。この情報
は、表1のフイールド249及び250に配置される。ブロツ
ク11213はプログラム開発者にこのRUの制御情報と開発
情報を入力するようにプロンプトする。この情報は、表
1のブロツク242及び243に配置される。ブロツク11214
はこのRUを含むシステム領域の名前をセツトする。この
情報は表1のフイールド266に配置される。ブロツク112
15はこのRUが作成された日時をセツトする。
ブロツク11219はこのRUがLCG RUかどうかを尋ねる。
もしそうならブロツク11220が表1のフイールド234にLC
G IDをセツトする。ブロツク11221はブロツク11100で
決定されたLCGボデイ決定情報を検索する。
ブロツク11222はこのRUがPFG RUかどうかを尋ねる。
もしそうなら、ブロツク11223に示すように表1のフイ
ールド234及び236にLCG ID及びPFG IDがセットされる
ブロツク11400で決定されたPFGボデイ決定情報がブロツ
ク11224で検索される。
ブロツク11225はこのRUがSFG RUかどうかを尋ねる。
もしそうなら、ブロツク11226は表1のフイールド234、
236及び237にこのSFGに関連するLCG、PFG及びSFG IDを
セツトする。
ブロツク11255は次にブロツク11500で決定したSFGボ
デイ決定情報を取得する。ブロツク11227(第15B図)
は、ハードウエア従属リストがこのRUに決定されている
かどうかを尋ねる。そしてもしそうならブロツク11228
が、ハードウエア従属オフセツトがRUボデイとRUヘツダ
のどちらにあるかを決定する。RU従属オフセツトはRUボ
デイとRUヘツダのどちらにあつてもよいが、好適な実施
例では両方にはない。もしハードウエア従属オフセツト
・リストがRUボデイにあるなら、ブロツク11230でRUボ
デイにハードウエア従属リストが追加される。もしハー
ドウエア従属オフセツト・リストがRUヘツダにあるな
ら、ブロツク11229でRUヘツダにハードウエア従属リス
トが追加される。後者の場合、ハードウエア従属リスト
に対するオフセツトを示すために、情報が表1のフイー
ルド263に配置される。
ブロツク11231は、このRUにソフトウエア従属リスト
が決定されているかどうかを尋ねる。もしそうなら、ブ
ロツク11232が、ソフトウエア従属性オフセツトがRUボ
デイとRUヘツダのどちらに含まれているかを尋ねる。も
しソフトウエア従属性オフセツトがRUボデイにあるな
ら、ソフトウエア従属リストがブロツク11234でRUボデ
イに追加される。もしソフトウエア従属リスト・オフセ
ツトがRUヘツダにあるなら、ソフトウエア従属リストが
ブロツク11233でRUヘツダに追加される。このオフセツ
トに関する情報は表1のフイールド264に配置される。
ブロツク11235はこのRUにシステム特定データが決定
されているかどうかを尋ねる。もしそうなら、ブロツク
11236が、このシステム特定データに対するオフセツト
がRUボデイまたはRUヘツダのどちらに含まれているかを
尋ねる。もしシステム特定データへのオフセツトがRUボ
デイに含まれているなら、システム特定データがブロツ
ク11238でRUボデイに追加される。もしシステム特定デ
ータ・オフセツトがRUヘツダに含まれているなら、ブロ
ツク11237でシステム特定データがRUヘツダに追加され
る。このオフセツトに関連するデータは表1のフイール
ド262に配置される。
ブロツク11239は、このRUにRU特定情報が決定されて
いるかどうかを尋ねる。もしそうなら、ブロツク11240
がこのRU特定情報に対するオフセツトがRUボデイとRUヘ
ツダのどちらに含まれているかを尋ねる。もしRU特定情
報オフセツトがRUボデイにあるなら、RU特定データがブ
ロツク11242でRUボデイに追加される。もしRU特定情報
オフセツトがRUヘツダ中にあるなら、RU特定情報はブロ
ツク11241に示すようにRUヘツダに追加される。このオ
フセツトについての情報は表1のフイールド265に配置
される。
ブロツク11243(第15C図)はこのRUがOCG RUがどう
かを尋ねる。もしそうなら、ブロツク11244はこのOCG用
のLCG、PFG及びSFG IDをセットする。この情報は表1
のフイールド234、236及び237に配置される。ブロツク1
1245はこのOCGがロードIDをもつているかどうかを尋ね
る。もしそうなら、OCGロードIDがブロツク11246に示す
ように表1のフイールド233に配置される。
ブロツク11247は、このOCGが共通名をもつかどうかを
尋ねる。もしそうなら、そのOCGの共通名が、ブロツク1
1248に示すように表1のフイールド254中に配置され
る。ブロツク11249はOCGボデイが何らかの重要製造デー
タ(VPD)を埋込まれているかどうかを尋ねる。もしそ
うなら、ブロツク11250に示すように、表1のフイール
ド267が、埋込VPDが含まれてなるOCGボデイの部分への
オフセツトに更新される。ブロツク11251は表1のフイ
ールド222でRUボデイ全長を更新する。ブロツク11252
は、もしこれがAG RUなら表3のフイールド1420中のRU
ボデイの長さを、LCG RUなら表5のフイールド2420
を、PFG RUなら表7のフイールド3420を、SFG RUなら
表9のフイールド4420を更新する。ブロツク11253は、R
Uの全長を計算しこの情報を表1のフイールド221に配置
する。RUの全長には、ヘツダ部分とボデイ部分が含まれ
る。ブロツク11254はブロツク11020に戻る。
第8図のブロツク11400がPFGボデイを決定する様子の
詳細が第16図に示されている。ブロツク11410はプログ
ラム開発者に、このPFGのIDと、このPFGを所有するLCG
のIDをも入力するようにプロンプトする。この情報は表
7のフイールド3432及び3434に配置される。ブロツク11
411は、プログラム開発者に、PFG部品番号、保守レベル
及び著作権情報を入力するようにプロンプトする。この
情報は表7のフイールド3435及び3450に配置される。ブ
ロツク11412はプログラム開発者に、このPFGが他のハー
ドウエアに従属するかどうかを尋ねる。もしそうなら、
ブロツク11160で示すようにハードウエア従属リストが
決定される。ブロツク11160は第13図に詳細に示されて
おり、これは既に説明済みである。ブロツク11413はプ
ログラム開発者にこのPFGが何らかのソフトウエア従属
性をもつかどうかを尋ねる。もしその答えが肯定的な
ら、ブロツク11180がこのPFGのソフトウエア従属性を決
定する。ブロツク11180の詳細は第14図に関連して説明
済みである。ブロツク11120はこのPFGに連結するすべて
のSFGのSFGリストを決定する。ブロツク11120は第10図
に関連して説明済である。ブロツク11414はプログラム
開発者にPFG特定情報が必要かどうかを尋ねる。もしそ
うなら、ブロツク11140でPFG特定情報が決定される。ブ
ロツク11140の詳細は第12図に関連して説明済みであ
る。このPFG特定情報へのオフセツトは、表7のフイー
ルド3464に配置される。ブロツク11415は第16図で作成
されたこのPFGボデイ決定情報をセーブする。ブロツク1
1416は第15A図に示すブロツク11200への動作の流れを継
続させ、そこでPFGヘツダが決定される。
第8図でブロツク11500がSFGボデイを決定する様子の
詳細が第17図に示されている。これにおいて、ブロツク
11510は、プログラム開発者にSFG IDのみならず、この
SFGを所有するPFG ID及びLCG IDをも入力するように
プロンプトする。この情報は表9のフイールド4431、44
33及び4434に配置される。ブロツク11511は、プログラ
ム開発者にSFG部品番号と、保守レベルと、著作権情報
を入力するようにプロンプトする。この情報は表9のフ
イールド4435ないし4440に配置される。ブロツク11512
は、プログラム開発者に、このSFGが他のハードウエア
に従属するかどうかを尋ねる。もしその答えが肯定的で
あるなら、SFGハードウエア従属リストがブロツク11160
で決定される。ブロツク11160の詳細は第13図に関連し
て説明済みである。ブロツク11513はプログラム開発者
にこのSFGに何らかのソフトウエア従属性があるかどう
かを尋ねる。この答えが肯定的であるなら、ブロツク11
180でこのSFGのためにソフトウエア従属リストが構築さ
れる。ブロツク11180の詳細は第14図に関連して説明済
みである。ブロツク11520はこのSFGをそのすべてのOCG
に連結するOCGリストを構築する。ブロツク11520がこの
OCGリストを構築する様子の詳細は第18図に示されてお
り、後で説明する。このOCGリストに対するオフセツト
は表9のフイールド4461に配置されている。ブロツク11
550はこのSFGのためのSFG一時設置/パツチ活動リスト
を構築する。このリストは表10のフイールド4561ないし
4570に含まれている。このリストに対するオフセツトは
表9のフイールド4462に配置される。ブロツク11514
は、何らかのSFG特定情報が必要かどうかを尋ねる。も
しその答えが肯定的であるなら、SFG特定情報がブロツ
ク11140で構築される。ブロツク11140は第12図に関連し
て説明済みである。SFG特定情報はフイールド4521に配
置され、SFG特定情報の長さはフイールド4520に配置さ
れ、SFG特定情報に対するオフセツトは表9のフイール
ド4463に配置される。ブロツク11515は第17図で決定さ
れたSFGボデイ決定情報をセーブする。ブロツク11516は
制御の流れをブロツク11200へと継続させ、そこでSFGヘ
ツダが決定される。
ブロック11520がOCGリストを決定する様子の詳細が第
18図に示されている。これにおいて、ブロツク11521は
プログラム開発者にそのOCGを含むシステム位置の名前
を入力するようにプロンプトする。この情報は表10のフ
イールド4544に配置される。ブロツク11522はシステム
位置におけるこのOCGを識別するための引数を取得す
る。このことは、ある位置のすべてのOCGを要求する
か、ある位置である名前をもつすべてのOCGを求める
か、またはこれらのすべてのOCGを手作業で入力させる
かのどれかによつて行うことができる。
ブロツク11523はこのOCGの名前とそのOCG2次識別子を
求める。ブロツク11524は、このOCGが他のSFGに属する
かどうかを尋ねる。もしその答えが肯定的なら、ブロツ
ク11525でOCG例外リストが更新される。OCGは1つのSFG
にしか属するべきではない。ブロツク11526はOCGの名前
とOCGの2次IDを表10のフイールド4547及び4548に入れ
るものである。ブロツク11527はこのOCGがシステム位置
に存在するかどうかを尋ねるものである。もしそうでな
いなら、ブロツク11528が保守レベル情報を、このOCGを
所有するSFG決定保守レベル情報に等しく設定する。そ
れゆえ、表9のフイールド4436中の情報が表10のフイー
ルド4549にコピーされ、表9のフイールド4437中の保守
情報が表10のフイールド4550にコピーされる。
ブロツク11529はOCG保守レベル情報を求めるものであ
る。この情報はフイールド4549ないし4554に配置され
る。ブロツク11530はそのシステム位置中のすべてのOCG
が処理されたかどうかを尋ねる。そしてもしそうでない
なら、制御がブロツク11552に戻る。一方、もしすべて
のOCGが処理されたのであれば、ブロツク11531が表10の
フイールド4543にこのシステム位置リストのサイズをセ
ツトし、表10のフイールド4546に、そのリスト中のOCG
エントリの数をセツトする。ブロツク11532は、すべて
のシステム位置が処理されたかどうかを尋ねるものであ
る。もしそうでなければ、制御は遠くブロツク11521ま
で遡る。もしすべてのシステム位置が処理されたなら、
ブロツク11533が表10のフイールド4541にOCGリストのサ
イズをセツトし、表10のフイールド4542にシステム位置
エントリの数をセツトする。ブロツク11534はユーザー
に、リストを形成しなかつたOCGについて通知する。ブ
ロツク11535は第17図のブロツク11550に制御を戻す。
プログラム開発者が単数または複数のプログラム・パ
ツケージを決定した後、プログラム開発者はパツケージ
ング・ツール17000を用いてプログラム・パツケージを
表示スクリーン上に表示することができる。例えばも
し、プログラム開発者21がプログラム・パツケージング
・ツール11000を用いて第2Aないし2B図に示すようにラ
イブラリ30中に含まれる5個のプログラム・パツケージ
を決定したならば、プログラム開発者21に表示されるス
クリーンは表11のようになろう。
この表において、列17050には短い記述が示されてい
る。列17100にはLCG IDが示されている。PFG IDは、
もし存在するなら、列17200に表示される。SFG IDは、
もし存在するなら列17300に表示される。RU名は列17400
に表示される。PUタイプは17500に表示される。RUが在
駐するシステム位置の名前が列17600に表示される。列1
7700、17800及び17900はそれぞれRUの可用性フラグ、導
入フラグ、有効化フラグをあらわす。これら3つのフラ
グは、ユーザーがRUの機能を使用できるようになる前に
オンにセットされなくてはならない。尚、RUのうちのあ
るものは可用であるだけであり、またあるものは可用か
つ導入済であり、またあるものは、可用、導入済かつ有
効化されていることに留意されたい。
ここで再び第1図を参照すると、アプリケーシヨン・
パツケージング・ツール90は、アプリケーシヨン開発者
26にアプリケーシヨン・パツケージを構成させるために
使用することができる。アプリケーシヨン開発者26は、
ライブラリ30中に収められたプログラム・パツケージの
うちのいくつかを選択することによってアプリケーシヨ
ン・パツケージを構成する。さらに、プログラム・パツ
ケージの1次及び2次機能のうちのいくつかが選択さ
れ、他は省略されることになる。アプリケーシヨン開発
者は、5つのレベル、すなわちAG、LCG、SFG、PFG及びO
CGを含むアプリケーシヨンを構成することによって上述
のことを達成するためにアプリケーシヨン・パツケージ
ング・ツール90を使用する。アプリケーシヨン・パツケ
ージング・ツール90は、第7図ないし第20図に示すよう
に適切にプログラミングされたパーソナル・コンピユー
タなどの汎用コンピユータ上で走るソフトウエアからな
る。
第21図は、アプリケーシヨン開発者がアプリケーシヨ
ン・パツケージを作成するために使用することのできる
パツケージング・ツールのメニュー画面を表示するもの
である。パツケージング・ツール21000はアプリケーシ
ヨン・パツケージを決定する。パツケージング・ツール
24000は、アプリケーシヨン・パツケージに収めるべき
各プログラム・パツケージの1次及び2次機能を選択す
る。パツケージング・ツール27000は作成されたアプリ
ケーシヨン・パツケージを表示する。パツケージング・
ツール21000は、前述のパツケージング・ツール11000に
きわめてよく似ている。パツケージング・ツール21000
は、ツール11000の機能に加えて、プログラム開発者に
は一般的には利用可能となされていなかったいくつかの
機能をアプリケーシヨン開発者に利用可能としている。
これらの追加機能は、第8図ないし第20図に参照番号21
000ないし21999で示されており、以下説明する。
先ず第8図を参照すると、判断ブロツク21040はアプ
リケーシヨン開発者に、AGを決定したいのかどうかを尋
ねるものである。もしそうなら、AGボデイがブロツク21
600で決定される。ブロツク21600は第19図に詳述されて
いる。次に、AGヘツダが既述のブロツク11200中で決定
される。
次に第9図を参照すると、ブロツク21113はアプリケ
ーシヨン開発者に、このLCGに適合させるにはAG情報が
必要かどうかを尋ねるものである。もしそうなら、AGリ
ストがブロツク21130で決定される。ブロツク21130は、
第11図に詳述されており、次に説明する。
ブロツク21130はAGリストを決定する。これは第11図
により詳しく示されている。ブロツク21131は、アプリ
ケーシヨン開発者に、AGのIDを入力するようプロンプト
する。この情報は表6のフイールド2351に配置される。
ブロツク21132は、アプリケーシヨン開発者に、AGの名
前を入力するようにプロンプトする。この情報は表6の
フイールド2532に配置される。ブロツク21133はアプリ
ケーシヨン開発者に、AG RUが位置するシステム・メモ
リ中の位置を入力するようにプロンプトする。この情報
は表6のフイールド2533に配置される。ブロツク21136
は、第9図のブロツク21115に戻る。
第15A図を参照すると、ブロツク21216はこのRUがAG
RUかどうかを尋ねる。もしそうなら、ブロツク21217に
示すようにこのRUのAG IDが表1のフイールド234にセ
ツトされる。ブロツク21218は第19図に示すように、ブ
ロツク21600で決定されたAGボデイ決定情報を検索す
る。
ブロツク21600がAGボデイを決定する様子が第19図に
示されている。ブロツク21610はアプリケーシヨン開発
者に、AGベンダ情報と文字定数を入力するようにプロン
プトする。この情報は表3のフイールド1431ないし1439
に配置される。ブロツク21611はアプリケーシヨン開発
者にAG IDとAG部品番号を入力するようにプロンプトす
る。この情報は表3のフイールド1433及び1444に配置さ
れる。ブロツク21612はアプリケーシヨン開発者にAG保
守及び著作権情報を入力するようにプロンプトする。こ
の情報は表3のフイールド1445ないし1449に配置され
る。ブロツク21620は、このAGにリンクされたすべてのL
CGのLCGリストを決定する。ブロツク21620がLCGリスト
を決定する様子は第20図に示されており、以下説明す
る。ブロツク21613はプログラム開発者に、何らかのAG
特定情報が必要かどうか調べるようにプロンプトする。
もしそうなら、AG特定情報がブロツク11140で決定され
る。ブロツク11140がAG特定情報を決定する様子の詳細
は第12図に関連して説明済である。ブロツク21614は、
第19図で作成されたAGボデイ決定情報をセーブする。ブ
ロツク11615はブロツク11200へ制御の流れを継続させ、
そこでAGヘツダが決定される。ブロツク11200がAGヘツ
ダを決定する様子の詳細は第15図に関連して説明済であ
る。
ブロツク21620がLCGリストを決定する様子の詳細は第
20図に示されている。ブロツク21621はアプリケーシヨ
ン開発者にLCGの名前とIDを入力するようにプロンプト
する。この情報は表4のフイールド1552及び1554に配置
される。ブロツク21622はアプリケーシヨン開発者に、L
CG保守レベル情報を要求する。この情報は表4のフイー
ルド1555及び1556に配置される。ブロツク21623はLCG可
用性フイールドをセツトし、プログラム開発者に、その
LCGを含むシステム位置を入力するようにプロンプトす
る。この情報は表4のフイールド1546及び1550に配置さ
れる。ブロツク21624はリストのすべてのLCGが決定され
たかどうかを尋ねるものである。もしそうでなければ、
ブロツク21621ないし21623が反復される。こうしてすべ
てのLCGが決定されると、ブロツク21625が表4のフイー
ルド1541にLCGエントリの数をセツトし、フイールド154
3にLCGリストのサイズをセツトする。ブロツク21626は
第19図のブロツク21613に戻る。
アプリケーシヨン開発者が、ツール21000を用いて、
パツケージに収めるべきLCGを選択することによってア
プリケーシヨン・パツケージを決定した後は、アプリケ
ーシヨン開発者は次にアプリケーシヨン・パツケージ機
能を選択するためにツール24000を使用する。例えばも
し、アプリケーシヨン開発者26が第1図に示すユーザー
41のためにアプリケーシヨン・パツケージ61を作成した
いと望んだとすると、表12は選択されたプログラム・パ
ツケージのメニューを表示するものである。このとき、
列24050ないし24900は表11の列17050ないし17900と同一
であることに留意されたい。列24010は、アプリケーシ
ヨン開発者がアプリケーシヨン・パツケージのための所
望の1次及び2次機能を選択する場所を与える。第3図
のアプリケーシヨン・パツケージを決定するためには、
アプリケーシヨン開発者は第3図に示した選択された各
々の1次及び2次機能毎に列24010にXを配置すること
になる。選択されなかった1次機能あるいは2次機能
は、アプリケーシヨン・パツケージがユーザーに送られ
る前にLCG及びPFGのボデイから除去される。
パツケージング・ツール27000は、ツール21000及び24
000によって作成されたアプリケーシヨン・パツケージ
を表示する。表13は、第3図のアプリケーシヨン・パツ
ケージ61を作成した後アプリケーシヨン開発者が眺める
ことになる表示内容をあらわすものである。
既述のように、好適な情報の具体例は、第4図に示す
5つのレベルを有する。しかし、必ずしもこれらすべて
のレベルを備えていなくとも本発明の範囲にとどまるこ
とができる。すなわち、別の実施例も考慮され、これは
ロード可能コード・グループ(LCG)レベル2000とオペ
レーシヨナル・コード・グループ(OCG)レベル5000と
いうわずか2つのレベルからなるプログラム・パツケー
ジを含む。この例は、好適な実施例の5レベル構成ほど
にはユーザーの要求を満たさないけれども、これすらも
本発明の利点の多くを奏するのである。この簡易化され
た例では表3、4、7、8、9、及び10が使用されな
い。そして、表5のフイールド2463は「OCGリストへの
オフセツト」となり、フイールド2465は「留保」とな
る。同様に、表6に示されているPFGリストはOCGリスト
によつて置き換えられ、選択/省略フイールド2544は
「留保」となる。この簡易化例では、フイールド2531な
いし2533が用いられない。また同様に、わずか2レベル
のパツケージを決定するためには、第8図ないし第20図
のフローチヤートのブロツクの多くは不要である。
F.発明の効果 以上説明したように、この発明によれば、複数のプロ
グラムをパツケージングして所望の機能だけを具備する
アプリケーシヨン・プログラムを系統的に且つ容易に作
成することができる。
【図面の簡単な説明】
第1図は、本発明の全体的な環境を示す図、 第2A図及び第2B図は、本発明に基づきパツケージングさ
れたプログラムの構成を示す図、 第3図は、アプリケーシヨン・パツケージの構成を示す
図、 第4図は、階層的に配列されたアプリケーシヨン・パツ
ケージのレベルをあらわす図、 第5図は、第4図の階層レベルをより詳細に示す図、 第6A図は、AG、LCG、PFG及びSFGレベルを形成するため
に使用される交換可能ユニツトの図、 第6B図は、OCGレベルを形成するために使用される交換
可能ユニツトの図、 第7図は、プログラム開発者パツケージング・ツールの
メニユーを示す図、 第8図ないし第20図は、プログラム・パツケージ・ツー
ル及びアプリケーシヨン・パツケージ・ツールの動作を
示すフローチヤートである。 第21図は、アプリケーシヨン・パツケージング・ツール
のメニユーを示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジエームズ・リイ・メイロー アメリカ合衆国ミネソタ州ロチエスタ ー、ノース・ウエスト・トウエンテイフ イフス・アヴエニユー5718番地 (72)発明者 デヴイド・ローリイ・ジヨンストーン アメリカ合衆国ミネソタ州ロチエスタ ー、サウス・ウエスト・リンドン・コー ト110番地 (72)発明者 ヘレン・マリイ・オールセン−ウイリア ムズ アメリカ合衆国ミネソタ州ロチエスタ ー、サウス・ウエスト・エイトス・アヴ エニユー913番地 (72)発明者 ロバート・ハリイ・サテイン アメリカ合衆国ミネソタ州ロチエスター アパートメント24、ノース・ウエス ト・ナインテイーンス・ストリート607 番地 (72)発明者 デニイーズ・リイ・シエイフアー アメリカ合衆国ミネソタ州ロチエスタ ー、ノース・ウエスト・フオーテイーン ス・アヴエニユー2614番地 (72)発明者 ガリイ・アルバート・ターク アメリカ合衆国ミネソタ州ロチエスタ ー、サウス・ウエスト・フアイブス・ス トリート1600番地

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】汎用タスクを実行するプログラムの主機能
    である1以上の1次機能と、前記1次機能のうち特定ユ
    ーザ向けに特殊化される機能を含む1以上の2次機能と
    を有するプログラム・パッケージを作成する方法におい
    て、 前記2次機能の各々の実行に必要なオペレーショナル・
    コード又はデータを含む第5レベルの交換可能ユニット
    を生成するステップと、 前記2次機能を定義する第4レベルの交換可能ユニット
    を作成するステップと、 前記第4レベルの交換ユニットを、各々対応する前記第
    5レベルの交換ユニットに連結するステップと、 前記1次機能を定義する第3レベルの交換可能ユニット
    を作成するステップと、 前記第3レベルの交換ユニットを、各々対応する前記第
    4レベルの交換ユニットに連結するステップと、 ハードウェア・リストを有し、前記リストに依存した特
    有のオペレーションを行う第2レベルの交換可能ユニッ
    トを作成するステップと、 前記第2レベルの交換ユニットを、前記第3レベルの交
    換ユニットに連結するステップと、 を有する、プログラム・パッケージの作成方法。
  2. 【請求項2】ソフトウェア構造の基礎単位である複数の
    交換可能ユニットから構成され、汎用タスクを実行する
    プログラムの主機能である1または複数の1次機能と、
    該1次機能のうち特定ユーザ向けに特殊化された機能で
    ある1または複数の2次機能とを備える複数のプログラ
    ム・パッケージから、アプリケーション・プログラム・
    パッケージを作成する方法において、 (a)汎用タスクを実行するためのプログラムを定義す
    る第2レベルの交換可能ユニットが、前記1次機能を定
    義する第3レベルの交換可能ユニットに連結され、該第
    3レベルの交換可能ユニットが、前記2次機能を定義す
    る第4レベルの交換可能ユニットに連結され、該第4レ
    ベルの交換可能ユニットが、プログラムの実行に必要な
    オペレーショナル・コードを含む第5レベルの交換可能
    ユニットに連結されてなる、第1のプログラム・パッケ
    ージを選択する段階と、 (b)汎用タスクを実行するためのプログラムを定義す
    る第2レベルの交換可能ユニットが、前記1次機能を定
    義する第3レベルの交換可能ユニットに連結され、該第
    3レベルの交換可能ユニットが、前記2次機能を定義す
    る第4レベルの交換可能ユニットに連結され、該第4レ
    ベルの交換可能ユニットが、プログラム実行のために必
    要なオペレーショナル・コードを含む第5レベルの交換
    可能ユニットに連結されてなる、第2のプログラム・パ
    ッケージを選択する段階と、 (c)第1レベルの交換可能ユニットを、前記第1のプ
    ログラム・パッケージの第2レベルの交換可能ユニット
    並びに前記第2のプログラム・パッケージの第2レベル
    の交換可能ユニットと連結する段階と、 (d)特定の1次機能及び2次機能を前記アプリケーシ
    ョン・プログラム・パッケージに収める場合には、該特
    定の1次機能及び2次機能を前記第1及び第2のプログ
    ラム・パッケージから選択し、該選択された機能のみを
    前記アプリケーション・プログラム・パッケージ収める
    段階を有する、 アプリケーション・プログラム・パッケージの作成方
    法。
  3. 【請求項3】前記の選択動作が表示画面を介して実行さ
    れる、請求項2に記載の方法。
  4. 【請求項4】前記の第2、第3、及び第4レベルの交換
    可能ユニットが、少なくとも自己識別情報を含むヘッダ
    部と、少なくとも次レベルの交換可能ユニットのリスト
    情報を含むボディ部とから構成され、前記の第5レベル
    の交換可能ユニットが、少なくとも自己識別情報を含む
    ヘッダ部と、少なくともオペレーショナル・コードを有
    するボディ部とから構成され、これらの情報に基づき前
    記の交換可能ユニット間の連結が実行される、請求項1
    に記載の方法。
  5. 【請求項5】前記の第1、第2、第3、及び第4レベル
    の交換可能ユニットが、少なくとも自己識別情報を含む
    ヘッダ部と、少なくとも次レベルの交換可能ユニットの
    リスト情報を含むボディ部とから構成され、前記の第5
    レベルの交換可能ユニットが、少なくとも自己識別情報
    を含むヘッダ部と、少なくともオペレーショナル・コー
    ドを有するボディ部とから構成され、これらの情報に基
    づき前記の交換可能ユニット間の連結が実行される、請
    求項2または3に記載の方法。
JP63290392A 1987-11-18 1988-11-18 プログラム・パッケ―ジの作成方法 Expired - Lifetime JP2531763B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US122293 1987-11-18
US07/122,293 US5237688A (en) 1987-11-18 1987-11-18 Software packaging structure having hierarchical replaceable units

Publications (2)

Publication Number Publication Date
JPH01161531A JPH01161531A (ja) 1989-06-26
JP2531763B2 true JP2531763B2 (ja) 1996-09-04

Family

ID=22401844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63290392A Expired - Lifetime JP2531763B2 (ja) 1987-11-18 1988-11-18 プログラム・パッケ―ジの作成方法

Country Status (9)

Country Link
US (2) US5237688A (ja)
EP (1) EP0317477B1 (ja)
JP (1) JP2531763B2 (ja)
KR (1) KR940002235B1 (ja)
CN (1) CN1013619B (ja)
AU (1) AU622628B2 (ja)
BR (1) BR8806033A (ja)
CA (1) CA1304515C (ja)
DE (1) DE3855475T2 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03129402A (ja) * 1989-07-10 1991-06-03 Mitsubishi Electric Corp プログラマブルコントローラのプログラム作成方法およびプログラミング装置
EP0407849B1 (en) * 1989-07-10 1997-04-23 Mitsubishi Denki Kabushiki Kaisha Programming method and programming unit for programmable controller
US5663757A (en) * 1989-07-14 1997-09-02 Morales; Fernando Software controlled multi-mode interactive TV systems
US5349674A (en) * 1990-08-17 1994-09-20 International Business Machines Corp. Automated enrollment of a computer system into a service network of computer systems
US20020073246A1 (en) * 1998-06-29 2002-06-13 Stephen F.B. Pickett Code server
US5649204A (en) * 1991-08-22 1997-07-15 Rec Software, Inc. Method and apparatus for consolidating software module linkage information used for starting a multi-module program
JPH06332680A (ja) * 1993-05-21 1994-12-02 Tadao Shogetsu プログラム自動生成装置
AU6814594A (en) * 1993-12-21 1995-07-10 Taligent, Inc. Automatic hardware configuration
JPH07306778A (ja) * 1994-05-16 1995-11-21 Fujitsu Ltd ソフトウェアの分散開発環境における開発管理方式
US5745766A (en) * 1994-09-19 1998-04-28 International Business Machines Corporation PC product registration and tracking
FI103155B1 (fi) 1995-10-11 1999-04-30 Nokia Telecommunications Oy Menetelmä tietokoneohjattujen palvelujen tuottamiseksi
US6516466B1 (en) 1996-05-02 2003-02-04 Vincent C. Jackson Method and apparatus for portable digital entertainment system
US5889990A (en) * 1996-11-05 1999-03-30 Sun Microsystems, Inc. Information appliance software architecture with replaceable service module providing abstraction function between system library and platform specific OS
US6493870B1 (en) * 1998-03-20 2002-12-10 Sun Microsystems, Inc. Methods and apparatus for packaging a program for remote execution
US6199196B1 (en) * 1998-03-20 2001-03-06 Sun Microsystems, Inc. Methods and apparatus for linking a program for remote execution
US6320600B1 (en) 1998-12-15 2001-11-20 Cornell Research Foundation, Inc. Web-based video-editing method and system using a high-performance multimedia software library
JP3655152B2 (ja) * 1999-11-29 2005-06-02 富士通株式会社 ソフトウェア編集装置及び記憶媒体
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
CA2402389A1 (en) 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7203841B2 (en) * 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
EP1366453A4 (en) * 2001-03-08 2007-05-16 Igt Reno Nev COMPUTERIZED GAME SYSTEM, METHOD AND DEVICE
JP2002278754A (ja) * 2001-03-15 2002-09-27 Toshiba Corp ソフトウェア部品ライブラリ管理システム、その方法およびソフトウェア部品ライブラリ管理プログラム
US7618317B2 (en) 2001-09-10 2009-11-17 Jackson Mark D Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
EP1463569A4 (en) 2001-11-26 2010-06-02 Igt Reno Nev DEVICE AND METHOD FOR ACTIVE INTERCONNECTION VALIDATION
US20030135661A1 (en) * 2002-01-14 2003-07-17 International Business Machines Corporation System and method for packaging and installing management models with specific console interfaces
US7177793B2 (en) * 2002-01-14 2007-02-13 International Business Machines Corporation System and method for managing translatable strings displayed on console interfaces
US7191404B2 (en) * 2002-01-14 2007-03-13 International Business Machines Corporation System and method for mapping management objects to console neutral user interface
US7240326B2 (en) * 2002-01-14 2007-07-03 International Business Machines Corporation System and method for obtaining display names from management models
US7065744B2 (en) * 2002-01-14 2006-06-20 International Business Machines Corporation System and method for converting management models to specific console interfaces
EP1398948B1 (en) 2002-09-13 2013-11-06 Ricoh Company, Ltd. Image forming apparatus, methods used therein and a computer readable storage medium
NL1024464C2 (nl) * 2003-10-06 2005-04-07 J A A A Doggen Beheer B V Werkwijze, ontwerpprogramma en uitvoeringsprogramma voor het samenstellen en uitvoeren van een computerapplicatie, alsmede gegevensdrager voorzien van ontwerpprogramma en gegevensdrager voorzien van uitvoeringsprogramma.
US20050234827A1 (en) * 2004-04-14 2005-10-20 Rudowsky Michael J System for processing executable applications to be suitable for distribution
US7493596B2 (en) * 2004-06-30 2009-02-17 International Business Machines Corporation Method, system and program product for determining java software code plagiarism and infringement
US7975256B2 (en) * 2004-06-30 2011-07-05 International Business Machines Corporation Optimizing application performance through data mining
DE602004014936D1 (de) * 2004-10-27 2008-08-21 Sap Ag Verfahren und System zur Generierung eines Transportweges durch eine Softwaresystemlandschaft
DE602004017012D1 (de) 2004-10-27 2008-11-20 Sap Ag Rechnersystem und Verfahren zum Bewirken eines einleitenden Softwaredienstes in einem produktiven System einer Softwaresystemlandschaft
EP1653317A1 (en) * 2004-10-27 2006-05-03 Sap Ag Method and system for setting change options of software systems
ATE402438T1 (de) * 2004-10-27 2008-08-15 Sap Ag Rechnersystem und verfahren zum bewirken von softwarewartung in einer softwaresystemlandschaft
ATE363096T1 (de) * 2004-10-27 2007-06-15 Sap Ag Verfahren zur durchführung eines softwaredienstes in einer systemlandschaft
EP1653348A1 (en) * 2004-10-27 2006-05-03 Sap Ag Method for tracking transport requests and computer system with trackable transport requests
DE602004014622D1 (de) * 2004-10-27 2008-08-07 Sap Ag Rechnersystem und Verfahren zum Bewirken von Veränderungen in einer Softwaresystemlandschaft
US7921059B2 (en) * 2005-12-15 2011-04-05 Microsoft Corporation Licensing upsell
US20070143228A1 (en) * 2005-12-15 2007-06-21 Microsoft Corporation Licensing matrix
US7949998B2 (en) * 2007-04-20 2011-05-24 Microsoft Corporation Programming framework for closed systems
US20090144728A1 (en) * 2007-12-04 2009-06-04 Bea Systems, Inc. Module based software system linking runtime to install time
US9477462B2 (en) * 2008-01-16 2016-10-25 Oracle International Corporation System and method for software product versioning packaging, distribution, and patching
US8650530B2 (en) * 2008-06-04 2014-02-11 Microsoft Corporation Data center programming and application distribution interface
US9772832B2 (en) 2012-01-20 2017-09-26 S-Printing Solution Co., Ltd. Computing system with support for ecosystem mechanism and method of operation thereof
US9235491B2 (en) 2012-09-28 2016-01-12 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US9317269B2 (en) 2012-09-28 2016-04-19 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US9128792B2 (en) 2012-09-28 2015-09-08 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US8949824B2 (en) 2012-09-28 2015-02-03 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
CN114564369B (zh) * 2022-04-28 2022-08-02 云账户技术(天津)有限公司 应用程序的异常监测方法、装置、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4024504A (en) * 1973-12-21 1977-05-17 Burroughs Corporation Firmware loader for load time binding
US4025906A (en) * 1975-12-22 1977-05-24 Honeywell Information Systems, Inc. Apparatus for identifying the type of devices coupled to a data processing system controller
US4468732A (en) * 1975-12-31 1984-08-28 International Business Machines Corporation Automated logical file design system with reduced data base redundancy
US4014005A (en) * 1976-01-05 1977-03-22 International Business Machines Corporation Configuration and control unit for a heterogeneous multi-system
JPS53124943A (en) * 1977-04-08 1978-10-31 Agency Of Ind Science & Technol Composite information processor
US4468728A (en) * 1981-06-25 1984-08-28 At&T Bell Laboratories Data structure and search method for a data base management system
US4633392A (en) * 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
US4611298A (en) * 1983-06-03 1986-09-09 Harding And Harris Behavioral Research, Inc. Information storage and retrieval system and method
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US4622633A (en) * 1983-12-06 1986-11-11 Tri Sigma Corporation Object building method for self configuring computer network
US4595981A (en) * 1984-03-05 1986-06-17 At&T Bell Laboratories Method of testing interfaces between computer program modules
JPS60204038A (ja) * 1984-03-28 1985-10-15 Hitachi Ltd プログラム間における変数の有効範囲変更制御方式
US4656583A (en) * 1984-08-13 1987-04-07 International Business Machines Corporation Method for improving global common subexpression elimination and code motion in an optimizing compiler
US4719564A (en) * 1984-12-10 1988-01-12 Nec Corportion Interpreter linkage system for linking extension interpreters to a basic interpreter
US4791550A (en) * 1985-02-13 1988-12-13 Rational Higher order language-directed computer
US4694396A (en) * 1985-05-06 1987-09-15 Computer X, Inc. Method of inter-process communication in a distributed data processing system
US4751635A (en) * 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system

Also Published As

Publication number Publication date
DE3855475T2 (de) 1997-02-06
EP0317477A2 (en) 1989-05-24
CA1304515C (en) 1992-06-30
EP0317477A3 (en) 1991-12-04
CN1013619B (zh) 1991-08-21
US5553290A (en) 1996-09-03
AU622628B2 (en) 1992-04-16
KR890008675A (ko) 1989-07-12
AU2431888A (en) 1989-05-18
CN1035375A (zh) 1989-09-06
JPH01161531A (ja) 1989-06-26
KR940002235B1 (ko) 1994-03-19
BR8806033A (pt) 1989-08-08
DE3855475D1 (de) 1996-09-19
US5237688A (en) 1993-08-17
EP0317477B1 (en) 1996-08-14

Similar Documents

Publication Publication Date Title
JP2531763B2 (ja) プログラム・パッケ―ジの作成方法
EP0786109B1 (en) Object-oriented system for configuration history management
US5553282A (en) Software project history database and method of operation
US6757893B1 (en) Version control system for software code
US7711919B2 (en) Methods and apparatus for digital data processing with mutable inheritance
US6968536B2 (en) Frame component container
US5974428A (en) Method and apparatus for class version naming and mapping
US5396626A (en) Object-oriented locator system
EP0549510A2 (en) System and method for computer aided software engineering
US6003042A (en) Systems, methods and computer programs products for storing a new version of an Envy Library file in a teamconnection object oriented programming environment
US6073111A (en) Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems
EP1039378A2 (en) Improvements in object-oriented computer processing
EP0841612A2 (en) Framework for software development
Lang et al. Programming Techniques: ASP—a ring implemented associative structure package
US5963955A (en) Bridge for exporting and importing objects between object oriented programming environments
Noble Arguments and results
JP3019915B2 (ja) 手続き呼出し方法
EP0867811B1 (en) Accounting-information outputting device
Weiler Modelling architectural variability for software product lines
JPH0833834B2 (ja) 表示パネル生成方法
US20070113236A1 (en) Program flow method and method for expanding a program component system
EP0872805A2 (en) Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems
Mantz et al. Customizing model migrations by rule schemes
EP0897148A1 (en) Method of error handling in a framework
JP2005025416A (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体