[go: up one dir, main page]

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

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

Info

Publication number
JPH01161531A
JPH01161531A JP63290392A JP29039288A JPH01161531A JP H01161531 A JPH01161531 A JP H01161531A JP 63290392 A JP63290392 A JP 63290392A JP 29039288 A JP29039288 A JP 29039288A JP H01161531 A JPH01161531 A JP H01161531A
Authority
JP
Japan
Prior art keywords
block
program
information
field
level
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
JP63290392A
Other languages
English (en)
Other versions
JP2531763B2 (ja
Inventor
Nathaniel Calvert
ナザニイール・カルヴアート
James S Effle
ジエームズ・スコツト・エツフル
Lee Naylor James
ジエームズ・リイ・メイロー
L Johnston David
デヴイド・ローリイ・ジヨンストーン
Helen M Olson-Williams
ヘレン・マリイ・オールセン−ウイリアムズ
Robert H Satin
ロバート・ハリイ・サテイン
Dennis L Shaffer
デニイーズ・リイ・シエイフアー
Gary A Turk
ガリイ・アルバート・ターク
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

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A、産業上の利用分野 B、従来技術 C0発明が解決しようとする間H煮 り0問題点を解決するための手段 E、実施例 F0発明の効果 A、産業上の利用分野 この発明は、データ処理技術の分野に関するものであり
、より詳しくは、ソフトウェアが、多重レベル階層形式
で構成された複数の置換可能なユニットから成っている
場合のコンピュータ・ソフトウェアのためのパッケージ
ング構造に関するものである。
B、従来技術 データ処理技術は、ユーザーがコンピュータに、きわめ
てわずかの人的介入でその資源を管理することを期待す
るところまで発展してきた。そして、自動構成化や問題
決定手続を通じてコンピュータ・システムのハードウェ
ア部分を管理するための研究は多くなされてきたが、コ
ンピュータのソフトウェア部分を効果的に管理すること
はほとんど研究されていない。
最近の典型的ユーザーは、特定のアプリケーションを実
行するために異なる複数のプログラムを必要とする。こ
れらのプロゲラふは多くの場合具なるプログラム開発者
によって作成されている。
しかし、各プログラムは、ハードウェアとソフトウェア
の両方に依存する要因をもち、ユーザーなリプログラム
開発者なりが、これらのすべての要因が満たされるよう
な統合されたシステムを組立てることがますます困難に
なりつつある。さらに、正しく動作するべくある保守ま
たはリリース・レベルを保つために、1つのソフトウェ
アが他のソフトウェアに依存することがある。多くの場
合、ユーザーがこの依存性の問題を匡正する唯一の方法
は、試行錯誤、あるいは多数の参照マニュアルを労力を
費してめくることである。
ソフトウェアの構造は、しばしば各プログラム開発者の
スタイルとその場の思いつきにまかされるものであって
、2つのプログラムが同一・の作成者によって開発され
た場合ですらも、一方のプログラムが、他方のプログラ
ムについての保守レベルや依存パラメータなどの情報を
容易に見出すことができるように2つのプログラムが一
貫した構造をもつことは稀である。
プログラム開発者とユーザーが最近直面する他の問題と
しては、プログラムが常に、訂正すべきエラーを含んで
いるということがある。通常、プログラム開発者はそれ
らのエラーを直すために、各ユーザーに全く新しいプロ
グラムを送付しなくてはならず、問題のある小部分のコ
ードのみを取り替える有効な方法はないのである。
アプリケーション開発者の仕事は今日複雑さを増してい
る。すなわち、ユーザーがアプリケーション開発者に、
自己の特定の要求に適うようにアプリケーション・パッ
ケージを作成するように要望するとき、アプリケーショ
ン開発者は、ユーザーの要求を満たすように複数の異な
るプログラムを結合し、それでいて将来の機能拡張のた
めの柔軟性を用意しておくという問題に遭遇することが
ある。多くの場合、アプリケーション開発者は、ユーザ
ーが要求しない機能を実行したり、ユーザーが要求する
すべての機能を実行する訳ではない汎用プログラムの高
価な非構造化集合体で満足するよりない。さらに、汎用
プログラムの集合体は、ユーザーが使用しない機能を記
憶することによって、必要以上のメモリを非効率にも使
用してしまう。 このことは、メモリを使い切ってしま
って、コンピュータ上にそれ以上の必要なプログラムを
記憶することのできないユーザーには特に隨事である。
プログラム開発者が、ユーザーに、自らが開発したプロ
グラムに満足してもらいたがっているのは明らかである
。しかし、個々のユーザーすべての要求をみたすように
仕立“ζられたプログラムを開発することは現在ではあ
まりにコストかがかりすぎる。プログラム開発者は、プ
ログラムのすべての機能を必要とするユーザーから、そ
の1つの機能しか必要としないユーザーまでのすべての
ユーザーの要求をみたすようなプログラムを開発しよう
と望んでいることだろう。もしこれを行うことができれ
ば、プログラム開発者は各ユーザーに、必要な機能の分
だけの料金を課せばよくなる。そして、ユーザーの要求
が増大しても、追加の料金を払うだけで、ユーザーに同
一のプログラムの追加の機能が与えられる。
C0発明が解決しようとする問題点 本発明の目的は、データ処理システムにおいて、ソフト
ウェア・プログラムの効率的管理を可能ならしめること
にある。
本発明の他の目的は、アプリケーション・パッケージが
、多重レベル階層様式で構成された複数の交換可能なユ
ニットからなるような場合にコンピュータ・ソフトウェ
アのためのパッケージング構造を与えることにある。
本発明のさらに他の目的は、アプリケーション・パッケ
ージがその階層構造の一体的部分として自己識別レベル
、保守レベル、及びハードウェアとソフトウェアに対す
る依存性を含むようにすることにある。
本発明のさらに他の目的は、プログラム開発者がプログ
ラム・パッケージを構築するために使用することができ
、アプリケーション開発者がアプリケーション・パッケ
ージを構築するために使用することができるパッケージ
ング・ツールを提供することにある。
D0問題点を解決するための手段 ソフトウェア・アプリケーション・パッケージは、リン
クされた複数の交換可能なユニット(RU)からなる。
各RUは、他のRUに悪影響を及ぼすことなくサービス
可能である。RUは、一連のレベルで階層的に配列され
ている。好適な実施例では、次の5つのレベルが使用さ
れる:アプリケーション・グループ・レベル(AG) 
、ロード可能コード・グループ・レベル(LCG)、主
要機能グループ・レベル(PFG)、2次機能グループ
・レベル(SFG)、及びオペレーショナル・コード・
グループ・レベル(OCG)。AGレベルは、ユーザー
の要求を満たすように仕立てられ、た高レベル・アプリ
ケーションを実行するように結合されたコンピュータ・
プログラムのグループである。LOGレベルは、めいめ
いが汎用タスクを実行するように作成された個々のプロ
グラムを定義する。PFGレベルは、LOGレベルで定
義された共通プログラムを、より特定の主要な機能のセ
ットまで絞ったものである。SFGレベルは、PFGレ
ベルで定義された主要機能を、特定のユーザーの要求に
より緊密に合致するように仕立てられた特殊化された2
次機能のセットまで絞ったものである。OCGレベルは
、上記4つのレベルによって定義された特殊化されたユ
ーザー・アプリケーション・パッケージを実行するため
に必要なオペレーショナル・コードを含む。
AG  RUは1つまたはそれ以上のLCG  RUに
リンクし、各RCG  RUは1つまたはそれ以上のP
FG  RUにリンクし、各PFG  RUは1つまた
はそれ以上のSFG  RUにリンクし、各SFG  
RUは1つまたはそれ以上の0CGRUにリンクする。
このようにして、5つのレベルの階層構造が決定される
各RUは、ヘッダ部分とボディ部分からなる。
各RUのヘッダは、レベルに拘らず、自己識別情報と保
守情報を含み、またそのRUに固有のハードウェア及び
ソフトウェア従属性のリストを含むこともできる。AC
,LCG、PFG及び5FGRUのボディは、追加の自
己識別及び保守情報に加えて、階層的チエインの一部を
なす次レベルのRUのリストを含む。RUに含まれる自
己識別メンテナンス及び従属性情報は、必須製品データ
(VPD)としても知られる。OCGレベル上の各RU
のボディは、プログラムを走らせるために使用されるオ
ペレーショナル・コードヲ含ム。
ソフトウェアの階層構造、RUの交換可能な性質、及び
RUに含まれる自己識別、メンテナンス及び従属性情報
により、ソフトウェアが高度に精巧化されることが可能
となる。この構造化されたソフトウェアは次に、前述し
たような多くのデータ処理に関連する問題を解決するた
めに使用することができる。
プログラム開発者は、LCG、、PFGSSFG及びO
CGという4つのレベルにパッケージされたプログラム
を作成するために本発明のプログラム・パッケージング
・ツールを使用することができる。また、アプリケーシ
ョン開発者は、アプリケーション・パッケージを作成す
゛るべくこれらのプログラム・パッケージのいくつかを
結合するために、本発明のアプリケーション・パッケー
ジング・ツールを使用することができる。このことは、
選択されたプログラム・パッケージの4つのレベルの頂
点にACレベルを追加することによって行なうことがで
きる。さらに、アプリケーション開発者は、選択された
プログラム・パッケージの主要(1次)及び2次機能を
選択して、残りの主要及び2次機能を省略することがで
きる。本発明のパッケージング構造及・びパッケージン
グ・ツールは、アプリケーション開発者に、特定のユー
ザーの要求をみたすように仕立てられたアプリケーショ
ン・パッケージを作成するための力と柔軟性を与える。
このロード可能なコード階層構造は、マイクロコードや
、市販プログラムや、ユーザーが開発したアプリケーシ
ョンなどの異なるロード可能なコードのタイプのものを
、各ロード可能コード・タイプに個別化されたツールの
組ではなく、共通の管理ツールの組を使用して管理でき
る点で、さらに別の恩恵を与えるものである。この能力
が存在子るのは、各コード・タイプのパッケージング構
造が類似するからである。
E、実施例 第1図は、本発明の環境を示すものである。この図にお
いて、プログラム開発者21ないシ24は、本発明に基
づくパッケージング構造に従いパッケージされたプログ
ラムを開発する。尚、そのパッケージング構造について
は後で詳しく説明する。プログラム開発者21ないし2
4は通常、互いに独立に作業を進め、多くの場合他のプ
ログラム開発者と協力して完成する。尚、第1図には4
人のプログラム開発者しか示されていないが、本発明の
パッケージング構造に従うなら、数千人もの人々が全世
界でプログラムを開発し、プログラム開発者であること
ができる。
プログラム開発者21ないし24によって開発されたプ
ログラムはライブラリ30中に配置される。ライブラリ
30は、プログラム開発者30によって開発されたすべ
てのプログラムの集合をあられす。例えば、ライブラリ
30は、オペレーティング・システム・プログラム、ワ
ード処理プログラム、スプレッドシート・プログラム、
ゲーlドブログラム、教育プログラム、通信プログラム
、出版プログラムなどを含むことができる。各プログラ
ムは主要(1次)機能及び2次機能を実行するが、これ
については後述する。ライブラリ30にはプログラム3
1ないし35が含まれており、これは第2図で詳述する
アプリケーション開発者26は、ライブラリ30中のプ
ログラムを取り出して、特定のユーザーの要求に適合す
るように仕立てられたアプリケーション・パッケージを
作成するために、それらをパッケージし直す。ユーザー
が必要とするプログラムは、1つのアプリケーション・
パッケージのもとで結合されて、そのアプリケーション
・パッケージがユーザーに渡される。ユーザーが受取る
アプリケーション・パッケージ中に、ユーザーが必要と
するプログラムの汎用及び特殊機能のみが入れられるよ
うに選択がなされる。
第1図において、アプリケーション開発者26は、オフ
ィス50で働くユーザー41ないし44のためにアプリ
ケーション・パッケージを作成するという仕事を割当て
られている。オフィス50は、ユーザー41ないし44
によって使用される4つのコンピュータ51ないし54
をもつ。コンピュータ51ないし54は、それぞれ記憶
領域56ないし59をもっている。そして、記憶領域5
6ないし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はチェス・プログラムである。
このとき1、チェス・プログラム35以外は複数の1次
機能と複数の2次機能をもつことに注意されたい。チェ
ス・プログラム35は簡単なので、1次且つ2次の機能
を1つしかもっていない。
プログラム31ないし35は、パッケージング・ツール
80を使用してプログラム開発者によって作成されるプ
ログラムの単なる例示である。プログラム開発者は、1
次及び2次機能として望むものを選択することにつき広
い柔軟性を与えられている。そして、より多くの1次及
び2次機能を選択するほど、プログラムはより汎用的に
なり、より一層アプリケーション開発者が、そのプログ
ラムを特定のユーザーの要求をみたすように仕立てられ
たアプリケーション・パッケージ中に含めることができ
るようになる可能性が高まる。
第1図及び第2図を参照して、オフィス50が小さい法
律事務所であると仮定する。アプリケーション開発者2
6は、ユーザー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つのレベル10
00.2000.3000.4000及び5000から
成ることに注意されたい。この好適な実施例の5つのレ
ベルのパッケージング構造は第4図以降に詳細に示され
ている。
第4図は、この好適な実施例のソフトウェア管理構造を
あられす。ここで5つのレベルが示され、その階層的性
質を強調するため構造がピラミッド形状として図示され
ていることに注意されたい。
その最上レベルである、アプリケーション・グループ(
AC)レベル1000は、高レベル・ユーザー・アプリ
ケーションを形成するように結合される1グループのコ
ンピュータ・プログラムを規定する。第2のレベルであ
る、ロード可能コード・グループ・レベル(LCG)2
000は、めいめいが汎用タスクを実行する個々のプロ
グラムを規定する。例えば、第3図のアプリケーション
・パッケージ61は、ロード可能コード・グループ・レ
ベル2000上に、ワード処理プログラムと、会計プロ
グラムと、オペレーティング・システムを有する。第3
のレベル、1次機能グループ・レベル(PFG)300
0は、LCGレベルに規定されている共通プログラムを
、1次機能のより特定の組へとふるいをかける。例えば
、第3図のアプリケーション・パッケージ61のLCG
レベル上のワード処理プログラムの場合、PFGレベル
が文書処理及びスペル・チエツクの1次機能を含む。そ
れと同一タイプの絞り込みは、LOGレベル上の他のプ
ログラムにも生じうる。
第4のレベルである、2次機能グループ・レベル(SF
G)4000は、PFGレベルに規定された2次機能を
、より密接に特定ユーザーの要求をみたすように仕立て
られた一層特殊化された2次機能の組へとふるいをかけ
る。SFGレベルは、コンピュータ・システム上にロー
ド可能な所与の動作可能機能毎のRUの最小の個数を識
別する。
例えば、第3図のアプリケ−シコン・パッケージ61の
PFGレベル上のスペル・チエツク1次機能の場合、S
FGレベルは一触用語及び法律用語の2次機能を含む。
これと同一タイプの絞り込みは、PFGレベル上の他の
1次機能の場合にも行うことができる。
最後のレベルである、オペレーショナル・コード・グル
ープ・レベル(OCG)5000は、上記4つのレベル
によって決定された特殊化されたユーザー・アプリケー
ションを走らせるのに必要なオペレーショナル・コード
を含む。
第5図は、第4図の好適な実施例の階層構造をより詳細
に図示するものである。ここでAGレベル1000が交
換可能ユニット(RU)1000からなることに注意さ
れたい。RUIlooの内容は第6A図等で詳細に説明
される。RUIlooは、LCGレベル2000上の少
くとも1つのRUに接続される。第5図は、RUIlo
oが、LCGレベル2000上のRU2100に接続さ
れている様子を示す。RU2100の内容も第6A図等
を参照して後述する。RU2100は、PFGレベル3
000上の少くとも1つのRUに接続される。第5図は
、RU2100が、PFGレベル3000上のRU31
00に接続されている様子を示す。RU3100の内容
もまた、第6A図等を参照して後述する。RU3100
は、SFGレベル4000上の少くとも1つのRUに接
続される。第5図は、RU3100がRU4100に接
続されている様子を示す。RU4100の内容もまた、
第6A図等を参照して後述する。RU4100は、OC
Cレベル5000上の少くとも1つのRUに接続される
。第5図は、RU4100がRU5600に接続されて
いる様子を示す。
RU5600の内容は、第6B図等を参照して後述する
第6A図は、ACSLCG、、P、FC及びSFGレベ
ルを形成するために使用される交換可能ユニットを詳細
に示す図である。交換可能ユニット100はヘッダ11
0とボディ120とからなる。
ヘッダ110は固定ヘッダ・ブロック200と可変ヘッ
ダ・ブロック300とからなる。ボディ120は、固定
グループ情報ブロック400と可変グループ情報ブロッ
ク500からなる。固定ヘッダ・ブロック200は長さ
情報部分220と、RU  10情報部分230と、オ
フセット情報部分260からなる。長さ情報部分220
は、RUIooの全体の長さと、RUlooのボディ1
20の長さを常に記録する。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と可変グループ情報ブロック50
0からなる。固定グループ情報ブロック400は、ボデ
ィ長情報部分420と、グループID情報部分430と
、グループ・オフセット情報部分460を含む。ボディ
長情報部分420は、ボディ120の全長を記録し続け
る。グループID情報部分は、追加的な自己識別情報部
分と保守情報を含む。グループ・オフセット情報部分4
60は、可変グループ情報ブロック500へのオフセッ
トを有する。特に、グループ・オフセット情報部分46
0は、グループ特定データ部分520中のデータへのオ
フセットと、次レベル・エントリ部分540のリストへ
のオフセットを有する。
固定グループ情報ブロック400と可変グループ情報ブ
ロック500に含まれている特定フィールドは、RUl
ooがACレベル1000、またはLOGレベル200
、またはPFGレベル3000、またはSFGレベル4
00のどれにあるかに依存する。もし交換可能ユニッ)
100がACレベル1000内にあるなら、固定AC情
報ブロック1400は表3(後述)に詳述するとおりで
あり、可変AC情報ブロック1500は表4(後述)に
詳述するとおりである。もし交換可能ユニット100が
LCGレベル2000にあるなら、固定LCG情報ブロ
ック2400は表5(後述)に詳述するとおりであり、
可変LOG情報ブロック2500は表6(後述)に詳述
するとおりである。同様に、交換可能ユニット100が
PFGレベル3000にあるなら、固定PFG情報ブロ
ック3400は表7(後述)に詳述するとおりであり、
可変PFG情報ブロック3500は表8(後述)に詳述
するとおりである。最後に、交換可能ユニット100が
SFGブロック4000にある場合、固定SFG情報ブ
ロック4400は表9(後述)に詳述するとおりであり
、可変SFC情報ブロック4500は表10(後述)に
詳述するとおりである。
第6B図の交換可能ユニット600について次に説明す
る。交換可能ユニット600はOCGレベル5000に
のみ在駐する。ここで、交換可能ユニツ)600が、第
6A図に示す交換可能ユニット100のヘッダ部分11
0と同一のヘッダ部分110をもつことに注意されたい
。交換可能ユニット600もまたボディ部分620をも
つが、これは交換ユニット100のボディ120とは異
なる。特に、ボディ620はオペレーショナル・コ−F
630を含む。オペレーショナル・コード630は構築
されたものではなく、プログラムのデータまたは実行可
能コードである。オペレーショナル・コード630はオ
プションとして、追加的な重要製造データ(自己識別、
保守及び従属情報)を含む。
第6A図に関連して既述したように、交換可能ユニット
lOOのヘッダは、交換可能ユニット100が位置して
いるレベルに拘らず同一のフィールドをもつ。第1表は
、固定ヘッダ・ブロックをより詳細に示すものである。
聚し」は二ム存副1 長  さ  必 須  フィールド属性涌1禾    
                        i
     Ni2・・・・・・Z’/3表1において、
フィールド211は、この特定のRUの長さを識別する
フィールド222はこのRUのボディの全長を識別する
。この情報は、RUを連鎖させるために使用される。I
D情報部分230は、自己識別情報の複数のフィールド
と、保守情報の複数のフィールドを含む。RU名ラフイ
ールド231、RUを管理する際に、システムによって
使用される。特定のRUに与えられる名前は、そのRU
をシステム中の他のすべてのRUから区別し得るように
固有のものである。表11(後述)の列17400がR
U名の例を示している。RUU照IDフィールド232
は、RUの追加的な視覚識別子を与える。RUロード識
別(ID)フィールド233は、対応する初期プログラ
ム・ロードIDをもつ1つの装置によって要求される特
殊なロードとしてRUを識別する。これにより、システ
ムが、初期プログラム・ロード処理の間にロードされな
くてはならないRUを決定するための機構が与えられる
。尚、RUロードIDフィールド233がオプションで
あることに注意されたい。LOG及びAG  IDフィ
ールド234と、PFG  IDフィールド236と、
5FGIDフイールド237は、階層的チエイン内の他
のRUのIDを含む。
固定ヘッダ200のID情報部分230の保守情報フィ
ールドについて次に説明する。RUU令セット・フィー
ルド241は、RUボディ中のデータが互換であるマシ
ン命令セットを識別する。
このフィールドはオプションである。RUU御情報フィ
ールド242は、RUを管理するために使用される複数
のフラグを含む。第1のフラグは、RUが修正されてい
たならセットされるRUU正フラグである。第2のフラ
グは、この特定のRUが何らかのハードウェアまたはソ
フトウェア従属性をもつならセットされるRUU属性フ
ラグである。第3のフラグは、このRUが、AG、PF
C,。
SFGまたはOCG  RUのどれであるかを記述する
RUタイプ・フラグである。
RUU発情報フィールド243は、このRUを開発した
特定の研究所などの、このRUの初期の開発に関する情
報を含む。RUU成日フィールド244とRUU成時間
フィールド246は、このRUが作成された日時のタイ
ム・スタンプを含む。
RU導導入ラフイールド24フRUU入時間フィールド
は、このRUがシステム上に導入された日時のタイム・
スタンプを含む。RUバージョン・レベル・フィールド
249とRUリリース修正レベル・フィールド250は
、この特定RUの保守レベルを識別する。RU−時固定
IDフィールド252及びRUパッチ・フィールド25
3はオプションであって、このRUのためになされた一
時的設定(fix)またはパッチに名前を与える。
フィールド257及び258は、RUのコンパイラにつ
いての情報を識別する。
次に、固定ヘッダ・ブロック200のオフセット情報部
分260を形成するフィールドについて説明する。RU
ボディ・フィールド261へのオフセットは、このRU
のボディの開始位置を指し示す。RUシステム特定デー
タ・フィールド262へのオフセットは、RUの可変ヘ
ッダ・ブロックに含まれている何らかのシステム特定デ
ータの開始位置を指し示す。RUハードウェア従属リス
ト・フィールドへのオフセットは、RUの可変ヘッダ・
ブロックに含まれているソフトウェア従属リストの開始
位置を指し示す。フィールド265は、RUU定情報の
開始位置を指し示す。フィールド267は、もし存在す
るなら、OCGCデボデイ中込VPDを指し示す。
RUフィールド266を含むシステム各領域は、そのR
Uが在駐するシステム・メモリ中の位置の名前を含む。
位置名の例は、後述の表11の列17600に示されて
いる。フィールド270及び271は、RUが最後に修
正された日時を含む。
フィールド272は、可変ヘッダ中に含まれているヘッ
ダ拡張データを指し示す。
表2は、可変ヘッダ・ブロック300のフィールドをよ
り詳しく示すものである。
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、LCG−P
FG  IDフィールド370及びPFG−3FG  
IDフィールド373が、この階層チエインを決定する
情報を与える。フィールド368及び369は、従属す
るソフトウェア・プログラムのLOGのバージョン・レ
ベル及びリリース/修正レベルを示す。同様に、フィー
ルド371及び372にはLCG−PFGチエインのバ
ージョン・レベル及びリリース/修正レベルが示され、
PFG−3FGチエインのバージョン・レベルと、リリ
ース/修正レベルと、中間PCレベルがフィールド37
4ないし376に示されている。フィールド381ない
し384は、ヘッダ拡張子を形成する。フィールド38
2は、RUの部品番号を示す。フィールド383は、R
Uの短記述を含む。
RUの短記述の例は、表11(後述)の列17050に
示されている。
次に、第6A図に示した交換可能ユニット100のボデ
ィ120のフィールドについて詳細に記述する。ボディ
120は、既述のように、固定グループ情報ブロック4
00と可変グループ情報ブロック500を含む。ブロッ
ク400及び500は、RUが階層チエイン中のどのレ
ベルにあるかに応じて異なるフィールドをもつ。固定A
G情報ブロック1400はAGレベル1000上の交換
可能ユニット1100中にあり、表3により詳しく示さ
れている。
3:  AG情11400 長さ必須フィールド属性 画体           ’1lN13・・・・拳・
14tibこの表において、長さ情報部分1420 ハ
、AGボディの全長を記録し続けるフィールドを含む。
次に、RUIlooの固定AC情報ブロック1400の
グループ!D情報部分1430を形成するフィールドに
ついて説明する。フィールド1431ないし1439は
、この特定のAG  RUを構築したベンダ(納入者)
の名前を識別する。このベンダは通常、アプリケーショ
ン・パッケージを構成したアプリケーション開発者であ
る。フィールド1441は、このRUがACタイプのR
Uであることの視覚的識別を与える文字定数である。
フィールド1443ないし1446は、それぞれ、この
AG  RUの識別子、部品番号、バージョン・レベル
及びリリース/修正レベルを記述する。
フィールド1447及び1448は、このAGRUに対
してなされた何らかの中間的あるいは一時的な(レベル
間の)変更についての情報を含む。
フィールド1449は、RUの所有者からの著作権情報
を含む。
次にRUIlooの固定AG情報ブロック1400のオ
フセット情報部分1460を形成するフィールドについ
て説明する。フィールド1463は、階層チエインにお
いてこのAG  RUに接続されたLCG  RUのリ
ストを指し示す、このリストは、表4(後述)により詳
しく示されている可変AG情報ブロック1500に含ま
れている。
フィールド1464は、表4に示されている可変AC情
報ブロック1500中に示されているAG特定データの
開始位置を指し示す。
表4の可変AG  RU情報ブロック1500を形成す
るフィールドについて次に説明する。
4:可AC報1400 長 さ 必 須 フィールド属性 LCGリリース/修正レベル          4 
  Y  C・・・・・・1556この表において、A
G特定データ部分1520は、AG特定データの長さを
含むフィールド1521と、AC特定データを含むフィ
ールド1522からなる。
次に、LCGリスト1540を形成するフィールドにつ
いて説明する。フィールド1541は、LCGリストの
サイズを決定し、フィールド1543はLCGCスリス
ト中ントリの数を決定する。
フィールド1545ないし1556はLCGCスリスト
中つのエントリを形成し、それはLCGCスリスト中エ
ントリ毎に反復される。フィールド1545は、選択/
省略フラーグであり、これは、もし有効化されているな
ら、このLCGを、そのAGのために選択されていると
識別する。フィールド1546は、このLCGがACに
よって利用可能かどうかを示す。フィールド1547は
、可用なLCGがシステム上に導入されているかどうか
を示す。フィールド1548は、導入されたしCGがこ
のシステム上で走るように有効化されているかどうかを
示す。フィールド1546ないし1548は、拡張また
は性能向上のためにユーザーが必要とするところまで、
LCGを、ユーザーに送られているけれどもそのユーザ
ー用に有効化されていないアプリケーション・パッケー
ジの一部として含めるものである。例えば、支払可能会
計のLOGをユーザーに供与することができるけれども
、それはユーザーがそのアプリケーションを性能向上し
てこの追加の機能を必要とするまで有効化されない。こ
れらのフィールドまたは、ソフトウェアのコピー保護機
能の一部としても使用することができる。
フィールド1550は、この特定のLOGが在駐するシ
ステム中の位置を含む。システム位置の名前の例が表1
1(後述)の列17600に示されている。フィールド
1552は、この特定のしCGを一意的に識別するため
にシステムによって使用されるLCGの名前を含む。R
U名の例は、表11の列17400に示されている。フ
ィールド1554はLOGの識別子を含む。LOG  
IDの例は表11の列17100に示されている。
フィールド1555及びフィールド1556はそれぞれ
LCGエントリのバージョン・レベル及びリリース/修
正レベルを含む。
表5は、LCGレベル2000 (第5図)にあるRU
2100の固定LCG情報ブロック2400内に形成さ
れているフィールドを記述する。尚、これらのフィール
ドの多くは、表3に示されている固定AC情報ブロック
1400中のフィールドに類似する。これらのフィール
ドの記述については、表3に関連する記述を参照された
い。フィールド2431ないし2439に含まれている
ベンダ情報は通常、そのプログラム・パッケージを作成
したプログラム開発者についてのものである。
フィールド2463は、このLCG  RUにリンクさ
れたPFG  RUのリストを指し示す。このリストは
、表6に示されている。可変LCG情報ブロック250
0に含まれている。フィールド2464は、やはり表6
の可変LCG情報ブロック2500に含まれているAC
データを指し示す。
フィールド2467は、ブロック2500にある出ロブ
ログラムを指し示す。
友L」$J匹工蓋皿 長 さ 必 須 アイ−4F属性 表6=可変LOG情報 長さ必須フィール1性 RU2100の可変LCG情報ブロック2500が表6
に示されている。尚、表6の可変LOG情報ブロック2
500中のフィールドの多くは、表4の可変AC情報ブ
ロック1500中のフィールドと同様であることに注意
されたい。そしてこれらのフィールドの記述に対応する
表4の説明を参照されたい。また、表5のフィールド2
465に述べたACデータが表6のフィールド2531
ないし2533に示されている。これらのフィールドに
含まれている情報により、LCGが、接続するACを識
別することが可能となる。出ロブログラムの名前と位置
がフィールド2561ないし2569に示されている。
これらのプログラムは、アプリケーション・パッケージ
またはプログラム・パッケージを作成しつつある間にエ
ラーが生じたときにコールされる。
表7:固定PFG情報3400 長 さ 必 須 フィールド属性 WC414N   jj ””−、j4t+)表7は、
PFGレベル3ooo(第5図)上のRU3100(7
)固定PFG情報情報ブタツク00を示す。ここで再び
、表7の固定PF’G情報ブロック3400のフィール
ドのいくつがか、表3の固定AC情報ブロック1400
中のフィールドと同様であることに注意されたい、よっ
て、これらのフィールドの記述に対応する表3の記載を
参照されたい。しかし、ブロック1400及び2400
中に含まれているベンダ情報はブロック3400には最
早台まれていないことに留意されたい。
フィールド3434は、階層的チエイン中でこのPFC
;  RUのためのLCG  IDを識別する。
フィールド3463は、このPFG  RUに連結され
たSFG  RUのリストを指し示す。このリストは表
8(後述)に示されている可変PFG情報ブロック35
00に含まれている。
フィールド3464は、表8の可変PFG情報ブロック
3500にも含まれているPFG特定情報を指し示す、
フィールド3461及び3462は、もし存在するなら
ば、可変PFG情報ブロック3500中に含まれている
ハードウェア及びソフトウェア従属データを指し示す。
表8:可 PFC情 3500 長 さ 必 須 フィールド属性 表8は、レベル3000 (第5図)上のRU3100
の可変PFG情報ブロック3500を示す。
尚、表8のブロック3500のフィールドのいくつかは
表4のブロック1500中のフィールドと同様であるこ
とに注意されたい。これらのフィールドの記述に対応す
る表4の説明を参照されたい。
SFGレベル4000上にあるRU4100の固定SF
G情報ブロック4400 (第5図)が次の表9に示さ
れている。
9:  SFG情報4400 長 さ 必 須 フィールF属性 固定SFG情報ブロック4400のフィールドの多くは
、表3の固定AC情報ブロック1400と同様であるこ
とに注意されたい、また、これらのフィールドの記載に
ついては、表3の説明を参照されたい、フィールド44
33及び4434は、このSFG  RUのための階層
チエイン中のより高位レベルにあるRUを識別する。
フィールド4461は、このSFG  RUに連結され
たOCG  RUのリストを指し示す。このリストは、
表10に示すように可変SFG情報ブロック4500中
に含まれている。フィールド4462は、可変SFG情
報ブロック4500中に含まれている一時設置/パッチ
活動を指し示す。
フィールド4463は、やはり可変SFG情報ブロック
4500中に含まれているSFG特定情報を指し示す。
表10:可 SFG情報4500 長 さ 必 須 フィールF属性 RU4100の可変SFG情報ブロック4500が表1
Oに示されている。ブロック4500(第5図)のフィ
ールドのい(つかは、表4のブロック1500中のフィ
ールドと同様であることに注意されたい、また、これら
のフィールドの記述に対応する表4の説明を参照された
い。
フィールド4561ないし4570は、このRUに接続
された一時設置/パッチ活動のリストを規定する。
ここで再び第1図を参照して、プログラム・パッケージ
を構築するためにプログラム開発者21ないし24によ
って使用されるプログラム・パッケージング・ツール8
0について説明する。プログラム・パッケージング・ツ
ール80は、第7図以下で示すように適切にプログラム
された、パーソナル・コンピュータ等の汎用コンピュー
タ上で走るソフトウェアである。第7図は、プログラム
・パッケージを作成するためにプログラム開発者が使用
することができるツールのメニューを示す。
プログラム開発者は、4つのレベル、すなわちLCG、
、PFG、SFG及びOCGの4つのレベルでパッケー
ジされたプログラムを作成するために、第7図に示すプ
ログラム・パッケージング・ツールを使用する。プログ
ラム・パッケージング・ツール11000により、プロ
グラム開発者がプログラム・パッケージを決定するのが
可能となる。
パッケージング・ツール11000はその詳細が第8図
以下に示されている。パッケージング・ツール1700
0は、プログラム開発者が、パッケージング・ツール1
1000によって決定されたプログラム・パッケージを
表示するのを可能ならしめる。プログラム開発者に表示
されるプログラム・パッケージの例が後述の表11に示
されている。
第8図は、パッケージング・ツール11000の制御の
全体的な流れを示す図である。尚、第8図は、プログラ
ム・パッケージング・ツール11OOOとアプリケーシ
ョン・パッケージング・ツール21000が類イ以であ
ることにより、アプリケーション・パッケージング・ツ
ール21000の制御の全体的な流れをも示しているこ
とに留意されたい。第8図から第20図に至るフローチ
ャートの中でアプリケーション・パッケージング・ツー
ル21000に固有のステップには参照番号21000
ないし21999が付与されている。
これらのステップは、後で、アプリケーション・パッケ
ージング・ツール21000に関連して説明する。
さて第8図を参照すると、判断ブロック11010は、
プログラム開発者に、LCGを決定したいと思っている
のかどうかを質問するものである。
そしてもしプログラム開発者が、LCGボディを決定し
たいということをあられすなら、ブロック11100で
LCGボディが決定される。ブロック11100の詳細
は第9図に示されている。次にブロック11′200で
はLCGヘッダが決定される。ブロック11200の詳
細は第15図に示されている。判断ブロック11020
はプログラム開発者に、PFGを決定したいかどうかを
問うものである。もしそうなら、ブロック11400で
ブロック11400の詳細が決定される。次にブロック
11200でPFGヘッダが決定される。
°  ブロック11200−の詳細は第15図に示され
ている。尚、ブロック11200は、LCG%PFG、
、SFG、AC;及びOCGレベルの決定に共通である
ことに留意されたい。
判断ブロック11030は、プログラム開発者に、SF
Gを決定したいかどうかを問うものである。もしそうな
ら、SFGボディがブロック11500で決定される。
ブロック11500の詳細は第17図により詳細に示さ
れている。次にブロック11200でSFGヘッダが決
定される。判断ブロック11050はプログラム開発者
にOCGを決定したいかどうかを問うものである。もし
そうなら、ブロック11060は、プログラムのオペレ
ーショナル・コードまたはデータを含むOCGボディへ
とつながる。ブロック11200はOCGヘッダを決定
するものである。ブロック11070はプログラム開発
者に、ツール11000を用いて作業を行ったのかどう
かを問うものである。尚、もしプログラム開発者がスク
ラッチからプログラム・パッケージを設計しているので
あれば、最初にOCGを決定し、次にSFGを、次にP
FGを、次にLCGを決定することになることに注意さ
れたい。
第9図は、第8図のブロック11100がどのようにL
CGボディを決定するのかを示すものである。ブロック
11110は、プログラム開発者に、表5に示すフィー
ルド2431ないし2439に含まれているベンダ情報
を入力するようにプロンプトする。典型的には、これら
のフィールドで求められているベンダは、プログラム開
発者自身であるかまたは彼が所属する会社であるが、他
のベンダをここに記入してもよい。ブロック11110
は、プログラム開発者に、LCGのための文字定数をセ
ットするように要求する。このデータは表5のフィール
ド2440に含まれている。
ブロック11111は、プログラム開発者に、LCG 
 IDと部品番号とを要求する。この情報は表5のフィ
ールド2450及び2451に配置される。ブロック1
1112はプログラム開発者に−LCG保守レベル情報
と著作権情報を入力するよう要求する。この情報は、表
5のフィールド2452ないし2456に配置される。
ブロック11120はこのLCGに関連するPFGリス
トを決定する。ブロック11120は第10図にその詳
細が示されており後で説明する。ブロック21113及
び21130はアプリケーション開発者によって使用さ
れ、これについても後で説明する。
判断ブロック11114はプログラム開発者に、LCG
特定データが必要かどうかを問うものである。もしそう
ならブロック11140でLCG特定データが決定され
る。ブロック11140は第12図により詳細に示され
、後で詳しく説明される。ブロック11115はプログ
ラム開発者に、このLCGが従属する何らかのハードウ
ェアがあるかどうかを問うものである。もしそうなら、
ブロック11160でLCGハードウェア従属リストが
決定される。ブロック11160は第13図により詳細
に示され、後で説明される。
判断ブロック11116はプログラム開発者に、このL
CGが従属する何らがのソフトウェアがあるかどうかを
問う、そしてもしそうなら、ブロック11180でLC
Gソフトウェア従属リストが決定される。ブロック11
180は第14図により詳細に示され、後で説明される
。ブロック11117は、第9図でプログラム開発者に
よって決定されたLCGボディの内容をセーブする。ブ
ロック11118は制御の流れをブロック11200へ
と進め、そこでLCGヘッダが決定される。
ブロック11200は第15図に関連してより詳細に説
明される。
第10図は、ブロック11120中でPFGリストが決
定される様子をより詳細に示すものである。ブロック1
1121はプログラム開発者に、PFG名とIDを求め
る。この情報は、表6のフィールド2550及び255
2に配置される。ブロック11122はプログラム開発
者にPFG保守レベルを要求する。この情報は表6のフ
ィールド2553及び2554に配置される。ブロック
11124は、ユーザーがこのリスト中で他のPFGを
決定したいと望んでいるかどうかを問うものである。も
しそうなら、すべてのPFGが決定されるまでブロック
11121ないし11123が決定される。すべてのP
FGがこのリスト中で決定されると、ブロック1112
5が表6の、PFGエントリ・サイズ及びエントリ数フ
ィールド2541及び2543をセットする。ブロック
11126は第9図のブロック21113へと戻る。
ブロック11140がLCG特定データを決定する様子
の詳細が第12図に示されている。ここでブロック11
141は、プログラム開発者にLCG特定データを求め
るものである。LCG特定データは表6のフィールド2
522に配置される。
ブロック11142は、フィールド2522の内容に基
づきLOG特定データの長さをセットする。
その長さは表6のフィールド2521に配置される。ブ
ロック11143は、第9図のブロック11115に戻
る。
ブロック11160がLCGハードウェア従属リストを
決定する梯子の詳細が第13図に示されている。判断ブ
ロック11161はプログラム開発著に、ハードウェア
相関!Dがこのハードウェア従属リストに必要かどうか
を問うものである。
そしてもしそうなら、ブロック11162に示すように
、表2のフィールド332にハードウェア相関IDが配
置される。ブロック11163はプログラム開発者にハ
ードウェア・タイプとモデル番号を入れるようにプロン
プトする。この情報は表2のフィーt’vド333及び
335に配置される。
判断ブロック11164はプログラム開発者にハードウ
ェア従属リスト中のこのエントリにロード10が必要か
どうかを質問する。そしてもしそうなら、ハードウェア
・ロードIDがブロック11165に示すように表2の
フィールド336中に配置される。もしそうでないなら
ブロック11165はスキップされる。ブロック111
66はプログラム開発者にハードウェア部品番号を入力
するようにプロンプトする。この情報は表2のフィール
ド337に入れられる。判断ブロック11167はこの
リスト上でさらにハードウェア従属性があるかどうかを
質問するものである。モシソうなら、すべての従属性が
このリスト上に取り込まれるまでブロック11161な
いし11166が反復される。そうしてこのリスト上に
すべてのハードウェア従属性が取り込まれると、ブロッ
ク11168が、この新しい情報を取得するために表5
のハードウェア従属リストのサイズ・フィールド338
とエントリ数のフィールド331を更新する。ブロック
11169は第9図のブロック11116へ制御を戻す
ブロック11180がLOGソフトウェア従属リストを
決定する様子の詳細が第14図に示されている。ブロッ
ク11181はプログラム開発者に、このソフトウェア
従属リストにソフトウェア相関IDが必要かどうかを質
問する。そしてもしそうならブロック11182で示子
ように表2のフィールド364にソフトウェア相関ID
が配置される。もしそうでないならブロック111B2
はスキップされる。ブロック11183はプログラム開
発者にソフトウェア従属タイプを入力するよう要求する
。この情報は表2のフィールド366に配置される。ブ
ロック11184はプログラム開発者に、従属するソフ
トウェアのLCG  ID及び保守レベルを人力するよ
う求める。この情報は表2のフィールド367ないし3
69に配置される。ブロック11185はユーザーに、
従属するソフトウェアがSFG  RUかどうかを尋ね
る。そしてもしそうならプログラム開発者はブロック1
1186でSFG  IDと保守レベルを入れるように
プロンプトされる。この情報は表2のフィールド373
ないし375に配置される。
判断ブロック11187は、SFG中間プログラム変更
レベルに対する従属性があるかどうかを尋ねるものであ
る。もしそうなら、ブロック1118日はプログラム開
発者にSFGプログラミング変更中間10を入力するよ
うプロンプトする。
この情報はブロック11190に示すように表2のフィ
ールド370ないし372に配置される。
一方、もしそうでないなら、ブロック11190はスキ
ップされる。ブロック11191はプログラム開発者に
、すべてのソフトウェア従属性が決定されたかどうかを
尋ねる。もしそうでないなら制御は第14図の始めに戻
り、すべてのソフトウェア従属性が決定されるまでブロ
ック11181ないし11190が繰り返される。−た
んすべてのソフトウェア従属性が決定されると、ブロッ
ク11192が第2図のソフトウェア従属性サイズ・フ
ィールド361とエントリ数フィールド362を更新す
る。ブロック11193は第9図のブロック11117
に戻る。
第8図のブロック11200がLCGヘッダを決定する
様子の詳細が第15Aないし15c図に示されている。
尚、LOGヘッダが決定される様子は、第8図でPFG
ヘッダ、SFGヘッダ、AGヘッダまたはOCGヘッダ
が決定される様子と同一であることに注意されたい。第
15A図において、ブロック11211はプログラム開
発者にこのRt、Tの名前と参照!Dを入力するように
プロンプトする。この情報は表1のフィールド231及
び232に配置される=ブロック11212はプログラ
ム開発者にこのRUのバージョン・レベルとリリース・
レベルを入力するようにプロンプトする。この情報は、
表1のフィールド249及び250に配置される。ブロ
ック11213はプログラム開発者にこのRUの制御情
報と開発情報を人力するようにプロンプトする。この情
報は、表1のブロック242及び243に配置される。
ブロック11214はこのRUを含むシステム領域の名
前をセットする。この情報は表1のフィールド266に
配置される。ブロック11215はこのRUが作成され
た日時をセットする。
ブロック11219はこのRUがLCG  RUかどう
かを尋ねる。もしそうならブロック11220が表1の
フィールド234にLCG  IDをセットする。ブロ
ック11221はブロック11100で決定されたLC
Gボディ決定情報を検索する。
ブロック11’222はこのRUがPFG  RUかど
うかを尋ねる。もしそうなら、ブロック11223に示
すように表1のフィールド234及び236にLCG 
 10及びPFC;  IDがセットされる。ブロック
11400で決定されたPFGボディ決定情報がブロッ
ク11224で検索される。
ブロック11225はこのRUがSFG  RUかどう
かを尋ねる。もしそうなら、ブロック11226は表1
のフィールド234.236及び237にこのSFGに
関連するLCG、PFG及びSFG  IDをセットす
る。
ブロック11255は次にブロック11500で決定し
たSFGボディ決定情報を取得する。ブロック1122
7(第15B図)は、ハードウェア従属リストがこのR
Uに決定されているかどうかを尋ねる。そしてもしそう
ならブロック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ボディに
含まれているなら、システム特定データカブロック11
238でRUボディに追加される。
もしシステム特定データ・オフセットがRUヘッダに含
まれているなら、ブロック112’37でシステム特定
データがRUヘッダに追加される。このオフセットに関
連するデータは表1のフィールド262に配置される。
ブロック11239は、このRUにRU特定情報が決定
されているかどうかを尋ねる。もしそうなら、ブロック
11240がこのRU特定情報に対するオフセットがR
UボディとRUヘッダのどちらに含まれているかを尋ね
る。もしRU特定情報オフセットがRUボディにあるな
ら、RU特定データがブロック11242でRUボディ
に追加される。もしRU特定情報オフセットがRU−、
ラダ中にあるなら、RU特定情報はブロック11241
に示すようにRUヘッダに追加される。このオフセット
についての情報は表1のフィールド265に配置される
ブロック11243(第15C図)はこのRUがQC(
G  RUがどうかを尋ねる。もしそうなら、ブロック
11244はこのOCG用のLCG、PFG及びSFG
  IDをセットする。この情報は表1のフィールド2
34.236及び237に配置される。ブロック112
45はこのOCGがロードIDをもっているかどうかを
尋ねる。もしそうなら、OCCロードIDがブロック1
1246に示すように表1のフィールド233に配置さ
れる。
ブロック11247は、このOCGが共通名をもつかど
うかを尋ねる。もしそうなら、そのOCGの共通名が1
、ブロック1124Bに示すように表1のフィールド2
54中に配置される。ブロック11249はOCGボデ
ィが何らかの重要製造データ(V P D)を埋込まれ
ているがどうかを尋ねる。もしそうなら、ブロック11
250に示すように、表1のフィールド267が、tl
込VPDカ含まれてなるocGボディの部分へのオフセ
ットに更新される。ブロック11251は表1のフィー
ルド222でRUボディの全長を更新する。
ブロック11252は、もしこれがAG  RUなら表
3のフィールド1420中のRUボディの長さを、LC
G  RUなら表5のフィール¥2420を、PFG 
 RUなら表7のフィールド3420を、SFG  R
Uなら表9のフィールド4420を更新する。ブロック
11253は、RUの全長を計算しこの情報を表1のフ
ィールド221に配置する。RUの全長には、ヘッダ部
分とボディ部分が含まれる。ブロック11254はブロ
ック11020に戻る。
第8図のブロック11400がPFGボディを決定する
様子の詳細が第16図に示されている。
ブロック11410はプログラム開発者に、このPFG
のIDと、このPFGを所有するLCGのIDをも入力
するようにプロンプトする。この情報は表7のフィール
ド3432及び3434に配置される。ブロック114
11は、プログラム開発者に、PFG部品番号、保守レ
ベル及び著作権情報を入力するようにプロンプトする。
この情報は表7のフィールド3435及び3450に配
置される。ブロック11412はプログラム開発者に、
このPFGが他のハードウェアに従属するかどうかを尋
ねる。もしそうなら、ブロック11160で示すように
ハードウェア従属リストが決定される。ブロック111
60は第13図に詳細に示されており、これは既に説明
済みである。ブロック11413はプログラム開発者に
二〇PFGが何らかのソフトウェア従属性をもつかどう
かを尋ねる。もしその答えが肯定的なら、ブロック11
180がこのPFGのソフトウェア従属性を決定する。
ブロック11180の詳細は第14図に関連して説明済
である。ブロック11120はこのPFGに連結するす
べてのSFGのSFGリストを決定する。ブロック11
120は第10図に関連して説明済である。ブロック1
1414はプログラム開発者にPFG特定情報が必要か
どうかを尋ねる。もしそうなら、ブロック11140で
PFG特定情報が決定される。ブロック11140の詳
細は第12図に関連して説明済みである。
、:(7)PFG特定情報へのオフセットは、表7のフ
ィールド3464に配置される。ブロック11415は
第16図で作成されたこのPFGボディ決定情報をセー
ブする。ブロック11416は第15A図に示すブロッ
ク11200への動作の流れを継続させ、そこでPFG
ヘッダが決定される。
第8図でブロック11500がSFGボディを決定する
様子の詳細が第17図に示されてし)る。
これにおいて、ブロック11510は、プログラム開発
者にSFG  IDのみならず、このSFGを所有する
PFG  ID及びLCG  IDをも入力するように
プロンプトする。この情報は表9のフィールド4431
.4433及び4434に配置される。ブロック115
11は、プログラム開発者にSFG部品番号と、保守レ
ベlしと、著作権情報を入力するようにプロンプトする
。この情報は表9のフィールド4435ないし4440
に配置される。ブロック11512は、プログラム開発
者に、このSFGが他のハードウェアに従属するかどう
かを尋ねる。もしその答えが肯定的であるなら、SFG
ハードウェア従属リストがブロック11160で決定さ
れる。ブロック11160の詳細は第13図に関連して
説明済みである。ブロック1151’ 3はプログラム
開発者にこのSFGに何らかのソフトウェア従属性があ
るかどうかを尋ねる。この答えが肯定的であるなら、ブ
ロック11180でこのSFGのためにソフトウェア従
属リストが構築される。ブロック11180の詳細は第
14図に関連して説明済みである。ブロック11520
はこのSFGをそのすべてのOCGに連結するOCGリ
ストを構築する。ブロック11520がこのOCGリス
トを構築する様子の詳細は第18図に示されており、後
で説明する。
このOCGリストに対するオフセットは表9のフィール
ド446Lに配置されている。ブロック11550はこ
のSFGのための5FG−時設置/バッチ活動リストを
構築する。このリストは表10のフィールド4561な
いし4570に含まれている。このリストに対するオフ
セットは表9のフィールド4462に配置される。ブロ
ック11514は、何−らかのSFG特定情報が必要か
どうかを尋ねる。もしその答えが肯定的であるなら、S
FG特定情報がブロック11140で構築サレる。ブロ
ック11140は第12図に関連して説明済みである。
SFG特定情報はフィールド4521に配置され、SF
G特定情報の長さはフィールド4520に配置され、S
FG特定情報に対するオフセットは表9のフィールド4
463に配置される。ブロック11515は第17図で
決定されたSFGボディ決定情報をセーブする。ブロッ
ク11516は制御の流れをブロック11200へと継
続させ、そこでSFGヘッダが決定される。
ブロック11520がOCGリストを決定する様子の詳
細が第18図に示されている。これにおいて、ブロック
11521はプログラム開発者にそのOCGを含むシス
テム位置の名前を入力するようにプロンプトする。この
情報は表1Oのフィールド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ないし455
4に配置される。ブロック11530はそのシステム位
置中のすべてのOCGが処理されたかどうかを尋ねる。
そしてもしそうでないなら、制御がブロック11552
に戻る。一方、もしすべてのOCGが処理されたのであ
れば、ブロック11531が表10のフィールド454
3にこのシステム位置リストのサイズをセットし、表1
0のフィールド4546に、そのリスト中のOCGエン
トリの数をセットする。ブロック11532は、すべて
のシステム位置が処理されたかどうかを尋ねるものであ
る。もしそうでなければ、制御は遠くブロック1152
1まで遡る。もしすべてのシステム位置が処理されたな
ら、ブロック11533が表1Oのフィールド4541
にOCGリストのサイズをセットし、表10のフィール
ド4542にシステム位置エントリの数をセットする。
ブロック11534はユーザーに、リストを形成しなか
ったOCGについて通知する。ブロック11535は第
17図のブロック11550に制御を戻す。
プログラム開発者が単数または複数のプログラム・パッ
ケージを決定した後、プログラム開発者はパッケージン
グ・ツール17000を用いてプログラム・パッケージ
を表示スクリーン上に表示することができる。例えばも
し、プログラム開発者21がプログラム・パッケージン
グ・ツール11000を用いて第2Aないし2B図に示
すようにライブラリ30中に含まれる5個のプログラム
・パッケージを決定したならば、プログラム開発者21
に表示されるスクリーンは表11のようになろう。
この表において、列17050には短い記述が示されて
いる0列17100にはLCG  IDが示されている
。PFG  IDは、もし存在するなら、列17200
に表示される。SFG  IDは、もし存在するなら列
17300に表示される。RU名は列17400に表示
される。PUタイプは17500に表示される。RUが
在駐するシステム位置の名前が列17600に表示され
る。列17700.17800及び17900はそれぞ
れRUの可用性フラグ、導入フラグ、有効化フラグをあ
られす、これら3つのフラグは、ユーザーがRUの機能
を使用できるようになる前にオンにセットされなくては
ならない。尚、RUのうちのあるものは回層であるだけ
であり、またあるものは回層かつ導入済であり、またあ
るものは、回層、導入済かつ有効化されていることに留
意されたい。
ここで再び第1図を参照すると、アプリケーション・パ
ッケージング・ツール90は、アプリケーション開発者
26にアプリケーション・パッケージを構成させるため
に使用することができる。
アプリケーション開発者26は、ライブラリ30中に収
められたプログラム・パッケージのうちのいくつかを選
択することによってアプリケーション・パッケージを構
成する。さらに、プログラム・パッケージの1次及び2
次機能のうちのいくつかが選択され、他は省略されるこ
とになる。アプリケーション開発者は、5つのレベル、
すなわちAC,LCG、、5FGSPFG及びOCGを
含むアプリケーションを構成することによって上述のこ
とを達成するためにアプリケーション・パッケージング
・ツール90を使用する。アプリケーション・パッケー
ジング・ツール90は、第7図ないし第20図に示すよ
うに適切にプログラミングされたパーソナル・コンピュ
ータなどの汎用コンピュータ上で走るソフトウェアから
なる。
第21図は、アプリケーション開発者がアプリケーショ
ン・パッケージを作成するために使用することのできる
パッケージング・ツールのメニュー画面を表示するもの
である。パッケージング・ツール210 、OOはアプ
リケーション・パツケージを決定する。パッケージング
・ツール24000は、アプリケーション・パッケージ
に収めるべき各プログラム・パッケージの1次及び2次
機能を選択する。パッケージング・ツール27000は
作成されたアプリケーション・パッケージを表示する。
パッケージング・ツール21000は、前述のパッケー
ジング・ツール11000にキワめてよ(似ている。パ
ッケージング・ツール21000は、ヅール11000
の機能に加えて、プログラム開発者には一般的には利用
可能となされていなかったいくつかの機能をアプリケー
ション開発者に利用可能としている。これらの追加機能
は、第8図ないし第20図に参照番号21000・ な
いし21999で示されており、以下説明する。
先ず第8図を参照すると、判断ブロック21040はア
プリケーション開発者に、ACを決定したいのかどうか
を尋ねるものである。もしそうなら、AGボディがブロ
ック21600で決定される。ブロック21600は第
19図に詳述されている。次に、AGヘッダが既述のブ
ロック112OO中で決定される。
次に第9図を参照すると、ブロック21113はアプリ
ケーション開発者に、このLOGに適合させるにはAG
情報が必要かどうかを尋ねるものである。もしそうなら
、AGリストがブロック21130で決定される。ブロ
ック21130は、第11図に詳述されており、次に説
明する。
ブロック21130はAGリストを決定する。
これは第11図により詳しく示されている。ブロック2
1131は、アプリケーション開発者に、ACのIDを
入力するようプロンプトする。この情報は表6のフィー
ルド2351に配置される。
ブロック21132は、アプリケーション開発者に、A
Gの名前を入力するようにプロンプトする。
この情報は表6のフィールド2532に配置される。ブ
ロック21133はアプリケーション開発者に、AG 
 RUが位置するシステム・メモリ中の位置を入力する
ようにプロンプトする。この情報は表6のフィールド2
533に配置される。ブロック21136は、第9図の
ブロック21115に戻る。
第15A図を参照すると、ブロック21216はこのR
UがAG  RUかどうかを尋ねる。もしそうなら、ブ
ロック21217に示すようにこのRUのAG  ID
が表1のフィールド234にセットされる。ブロック2
1218は第19図に示すように、ブロック21600
で決定されたAGボディ決定情報を検索する。
ブロック21600がAGボディを決定する様子が第1
9図に示されている。ブロック21610は、アプリケ
ーション開発者に、ACベンダ情報と文字定数を入力す
るようにプロンプトする。
この情報は表3のフィールドI431ないし1439に
配置される。ブロック21611はアプリケーション開
発者にAG  IDとAC部品番号を入力するようにプ
ロンプトする。この情報は表3のフィールド1433及
び1444に配置される。
ブロック21612はアプリケーション開発者にAC保
守及び著作権情報を入力するようにプロンプトする。こ
の情報は表3のフィールド1445ないし1449に配
置される。ブロック21620は、このACにリンクさ
れたすべてのLCGのLCGリストを決定する。ブロッ
ク21620がLCGリストを決定する様子は第20図
に示されており、以下説明する。ブロック21613は
プログラム開発者に、何らかのAG特定情報が必要かど
うかを調べるようにプロンプトする。もしそうなら、A
G特定情報がブロック11140で決定される。ブロッ
ク11140がAC特定情報を決定する様子の詳細は第
12図に関連して説明済である。ブロック21614は
、第19図で作成されたAGボディ決定情報をセーブす
る。ブロック11615はブロック11200へ制御の
流れを継続させ、そこでACヘッダが決定される。ブロ
ック11200がACヘッダを決定する様子の詳細は第
15図に関連して説明済である。
ブロック21620がLCGリストを決定する様子の詳
細は第20図に示されている。ブロック21621はア
プリケーション開発者にLCGの名前とIDを入力する
ようにプロンプトする。この情報は表4のフィールド1
552及び1554に配置される。ブロック21622
はアプリケーション開発者に、LOG保守レベル情報を
要求する。この情報は表4のフィールド1555及び1
556に配置される。ブロック21623はLCG可用
性フィールドをセットし、プログラム開発者に、そのL
OGを含むシステム位置を入力するようにプロンプトす
る。この情報は表4のフィールド1546及び1550
に配置される。ブロック21624はリストのすべての
LCGが決定されたかどうかを尋ねるものである。もし
そうでなければ、ブロック21621ないし21623
が反復される。こうしてすべてのLCGが決定されると
、ブロック21625が表4のフィールド1541にL
CGエントリの数をセットし、フィールド1543にL
CGリストのサイズをセットする。ブロック21626
は第19図のブロック21613に戻る。
アプリケーション開発者が、ツール21000を用いて
、パッケージに収めるべきLCGを選択することによっ
てアプリケーション・パッケージを決定した後は、アプ
リケーション開発者は次にアプリケーション・パッケー
ジ機能を選択するためにツール24000を使用する。
例えばもし、アプリケーション開発者26が第1図に示
すユーザー41のためにアプリケーション・パッケージ
61を作成したいと望んだとすると、表12は選択され
たプログラム・パッケージのメニューを表示するもので
ある。このとき、列24050ないし24900は表1
1の列17050ないし17900と同一であることに
留意されたい。列24010は、アプリケーション開発
者がアプリケーション・パッケージのための所望の1次
及び2次機能を選択する場所を与える。第3図のアプリ
ケーション・パッケージを決定するためには、アプリケ
ーション開発者は第3図に示した選択された各々の1次
及び2次機能毎に列24010にXを配置することにな
る。選択されなかった1次機能あるいは2次機能は、ア
プリケーション・パッケージがユーザーに送られる前に
LCG及びPFGのボディから除去される。
パッケージング・ツール27000は、ツール2100
0及び24000によって作成されたアプリケーション
・パッケージを表示する。表13は、第3図のアプリケ
ーション・パッケージ61を作成した後アプリケーショ
ン開発者が眺めることになる表示内容をあられすもので
ある。
既述のように、好適な情報の具体例は、第4図に示す5
つのレベルを有する。しかし、必ずしもこれらすべての
レベルを備えていなくとも本発明の範囲にとどまること
ができる。すなわち、別の実施例も考慮され、これはロ
ード可能コード・グループ(LCG)レベル2000と
オペレーショナル・コード・グループ(OCG)レベル
5000というわずか2つのレベルからなるプログラム
・パッケージを含む、この例は、好適な実施例の5レベ
ル構成はどにはユーザーの要求を満たさないけれども、
これすらも本発明の利点の多くを奏するのである。この
簡易化された例では表3.4.7.8.9、及びlOが
使用されない。そして、表5のフィールド2463はr
occリストへのオフセット」となり、フィールド24
65は「留保」となる、同様に、表6に示されているP
FGリストはOCGリストによって置き換えられ、選択
/省略フィールド2544は「留保」となる。
この簡易化例では、フィールド2531ないし2533
が用いられない。また同様に、わずか2レベルのパッケ
ージを決定するためには、第8図ないし第20図のフロ
ーチャートのブロックの多くは不要である。
F8発明の詳細 な説明したように、この発明によれば、複数のプログラ
ムをパッケージングして所望の機能だけを具備するアプ
リケーション・プログラムを系統的に且つ容易に作成す
ることができる。
【図面の簡単な説明】
第1図は、本発明の全体的な環境を示す図、第2A図及
び第2B図は、本発明に基づきパッケージソゲされたプ
ログラムの構成を示す図、第3図は、アプリケーション
・パッケージの構成を示す図、 第4図は、階層的に配列されたアプリケーション・パッ
ケージのレベルをあられす図、第5図は、第4図の階層
レベルをより詳細に示す図、 第6A図は、AG、、LCG、、PFG及びSFGレベ
ルを形成するために使用される交換可能ユニットの図、 第6B図は、OCGレベルを形成するために使用される
交換可能ユニットの図、 第7図は、プログラム開発者パッケージング・ツールの
メニューを示す図、 第8図ないし第20図は、プログラム・パッケージ・、
ツール及びアプリケーション・パッケージ・ツールの動
作を示すフローチャートである。 第21図は、アプリケーション・パッケージング・ツー
ルのメニューを示す図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  山  本  仁  朗(外1名) 第2B巳 第4m 第611 ノ入&”N’1(1)/(Uへ 系6B国 1−                       
    J第7TiX プロプ°ラヘ閉亮あハ・7.γ、ンングツー、し第21
国 アブ!ノアーシヅン聞毛シ眉バ・lγ−シン7゛ヅーI
し第8田 某11記 第12回 第16I21 PFQ;に−f; :i:定−11400第19記 AG、f;f″+ 赳/2160)

Claims (3)

    【特許請求の範囲】
  1. (1) (a)第1のヘッダと、第1のボディをもち、該第1の
    ヘッダは第1の識別データを有してなる第1の交換可能
    ユニットと、 (b)第2のヘッダと、第2のボディをもち、該第2の
    ヘッダは第2の識別データを有してなる第2の交換可能
    ユニットとを具備し、 (c)上記第1のボディが上記第2の識別データを有し
    、以て上記第1の交換可能ユニットを上記第2の交換可
    能ユニットに階層的に連結することが可能ならしめられ
    ることを特徴とする、 階層的プログラム構造体。
  2. (2)1次機能と2次機能をもつプログラム・パッケー
    ジの作成方法において、 (a)上記2次機能を実行するために必要なオペレーシ
    ョナル・コードまたはデータをもつ第5レベルの交換可
    能ユニットを作成する段階と、(b)上記2次機能のた
    めの第4レベルの交換可能ユニットを作成する段階と、 (c)上記第4レベルの交換可能ユニットを上記第5レ
    ベルの交換可能ユニットに連結する段階と、(d)上記
    1次機能のための第3レベルの交換可能ユニットを作成
    する段階と、 (e)上記第3レベルの交換可能ユニットを上記第4レ
    ベルの交換可能ユニットに連結する段階と、(f)第2
    レベルの交換可能ユニットを作成する段階と、 (g)上記第2レベルの交換可能ユニットを上記第3レ
    ベルの交換可能ユニットに連続する段階とを有する、 プログラム・パッケージの作成方法。
  3. (3)アプリケーション・パッケージの作成方法におい
    て、 (a)複数の1次機能と2次機能をもつ第1のプログラ
    ム・パッケージを選択する段階と、 (b)複数の1次機能と2次機能をもつ第2のプログラ
    ム・パッケージを選択する段階と、 (c)上記第1のプログラム・パッケージを上記第2の
    プログラム・パッケージと結合する段階と、(d)上記
    アプリケーション・パッケージに収めるべき1次機能と
    2次機能を上記第1及び第2のプログラム・パッケージ
    から選択する段階を有する、 アプリケーション・パッケージの作成方法。
JP63290392A 1987-11-18 1988-11-18 プログラム・パッケ―ジの作成方法 Expired - Lifetime JP2531763B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPH01161531A true JPH01161531A (ja) 1989-06-26
JP2531763B2 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 プログラマブルコントローラのプログラム作成方法およびプログラミング装置
DE69030535T2 (de) * 1989-07-10 1997-09-18 Mitsubishi Electric Corp Verfahren und Vorrichtung zur Programmierung eines programmierbaren Steuergerätes
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
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
US20020073246A1 (en) * 1998-06-29 2002-06-13 Stephen F.B. Pickett Code server
JPH06332680A (ja) * 1993-05-21 1994-12-02 Tadao Shogetsu プログラム自動生成装置
WO1995017714A1 (en) * 1993-12-21 1995-06-29 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
FI103155B (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
US6199196B1 (en) * 1998-03-20 2001-03-06 Sun Microsystems, Inc. Methods and apparatus for linking a program for remote execution
US6493870B1 (en) * 1998-03-20 2002-12-10 Sun Microsystems, Inc. Methods and apparatus for packaging 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 富士通株式会社 ソフトウェア編集装置及び記憶媒体
WO2002073501A1 (en) * 2001-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
CA2402389A1 (en) 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7203841B2 (en) * 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
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
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
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
US7065744B2 (en) * 2002-01-14 2006-06-20 International Business Machines Corporation System and method for converting management models to specific 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
US7177793B2 (en) * 2002-01-14 2007-02-13 International Business Machines Corporation System and method for managing translatable strings displayed on console interfaces
US7240326B2 (en) * 2002-01-14 2007-07-03 International Business Machines Corporation System and method for obtaining display names from management models
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
US20040109188A1 (en) 2002-09-13 2004-06-10 Kunihiro Akiyoshi Image forming apparatus and methods used in the image forming apparatus
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
US7975256B2 (en) * 2004-06-30 2011-07-05 International Business Machines Corporation Optimizing application performance through data mining
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
EP1653348A1 (en) * 2004-10-27 2006-05-03 Sap Ag Method for tracking transport requests and computer system with trackable transport requests
EP1653349B1 (en) * 2004-10-27 2008-07-09 Sap Ag Method and system for generating a transport track through a software system landscape
ATE402438T1 (de) * 2004-10-27 2008-08-15 Sap Ag Rechnersystem und verfahren zum bewirken von softwarewartung in einer softwaresystemlandschaft
DE602004006630T2 (de) * 2004-10-27 2008-01-17 Sap Ag Verfahren zur Durchführung eines Softwaredienstes in einer Systemlandschaft
EP1653317A1 (en) * 2004-10-27 2006-05-03 Sap Ag Method and system for setting change options of software systems
DE602004014622D1 (de) * 2004-10-27 2008-08-07 Sap Ag Rechnersystem und Verfahren zum Bewirken von Veränderungen in einer Softwaresystemlandschaft
EP1653350B1 (en) 2004-10-27 2008-10-08 Sap Ag Method and computer system for effecting a preliminary software service in a productive system of a software system landscape
US20070143228A1 (en) * 2005-12-15 2007-06-21 Microsoft Corporation Licensing matrix
US7921059B2 (en) * 2005-12-15 2011-04-05 Microsoft Corporation Licensing upsell
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
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
US9317269B2 (en) 2012-09-28 2016-04-19 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
EP0317477A3 (en) 1991-12-04
KR940002235B1 (ko) 1994-03-19
EP0317477A2 (en) 1989-05-24
JP2531763B2 (ja) 1996-09-04
CN1013619B (zh) 1991-08-21
CA1304515C (en) 1992-06-30
DE3855475T2 (de) 1997-02-06
EP0317477B1 (en) 1996-08-14
KR890008675A (ko) 1989-07-12
CN1035375A (zh) 1989-09-06
US5553290A (en) 1996-09-03
US5237688A (en) 1993-08-17
DE3855475D1 (de) 1996-09-19
AU2431888A (en) 1989-05-18
AU622628B2 (en) 1992-04-16
BR8806033A (pt) 1989-08-08

Similar Documents

Publication Publication Date Title
JPH01161531A (ja) プログラム・パッケージの作成方法
EP0786109B1 (en) Object-oriented system for configuration history management
US5553282A (en) Software project history database and method of operation
US5659735A (en) Object-oriented system for program version and history database management system for various program components
CA2304020C (en) Method and system for database application software creation requiring minimal programming
AU673528B2 (en) System development support
CN101589366B (zh) 面向生成器图的编程框架中的并行化和植入
US6073111A (en) Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems
JP2986051B2 (ja) オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
US6070152A (en) Framework for business applications providing financial integration
JP5456756B2 (ja) 構成要素を使用してコンピュータによる実行可能なコードを生成する方法及び装置
JP2002334194A (ja) ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム
KR20030044916A (ko) 모듈러 컴퓨터 시스템 및 관련 프로세스
JP4136271B2 (ja) アプリケーションサーバシステム
EP0943126A1 (en) Data processing system and method
JPH11282658A (ja) 対話的ソフトウエア構築・駆動装置
Tawhid et al. Product model derivation by model transformation in software product lines
JP2004355326A (ja) ソフトウェア開発支援プログラム、当該プログラムを記録した記録媒体及びソフトウェア開発支援システム
Khan et al. A study: selection of model metamodel and SPL tools for the verification of software product lines
EP0897149A1 (en) Framework for business applications providing financial integration
Damij An 0bject-Oriented Methodology for lnformation Systems Development
Fugini et al. Reusing requirements through a modeling and composition support tool
JPH0833834B2 (ja) 表示パネル生成方法
EP0872805A2 (en) Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems
EP0523650A2 (en) Object oriented processing method