(57)【要約】【課題】ユーザが完成されたコンピュータ・プログラムを作成することができるようにするグラフィカル・プログラム構成システムとプロセスを提供する。【解決手段】プログラム構成ユーティリティが、各々が変動要素とアクション部とを有する少なくとも二個のサブプログラムを有するか、または少なくとも一個のサブプログラムと少なくとも一個のグラフィック・インタフェース・エレメントとを有するアプリケーション・プログラムをグラフィック・イメージによって表示させるビジュアル・ディスプレーを有するコンピュータ・システムで使用するために供される。上記プログラム構成ユーティリティは、非プログラマ或いは初歩的なプログラミング技能しか持っていない人が、単に或るプログラムが持つユーザ・インタフェースを目に見えないファンクショナル・プログラム・エレメントに構成することに限定されること無く、一以上のサブプログラムの集成を完全なコンピュータ・プログラムに構成することができるようにする。【選択図】図３
2006092570.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイと入力装置を含むコンピュータを操作して、少なくとも第１と第２のオブジェクトを含み、そのオブジェクトの幾つかが名前の付けられたアウトレットを有しているものであるプログラムを構成する際に使用されるユーティリティ・プログラムにおいて、
入力装置からの入力に応答して、前記第一オブジェクトから前記第二オブジェクトへ、前記第二オブジェクトがそのアウトレット名を前記第一オブジェクトへ伝達するように要求するメッセージを送るステップと、
前記アウトレット名を前記第二オブジェクトから受け取るステップと、
前記第二オブジェクトから受け取ったアウトレット名各々に対し、前記第一オブジェクトを前記第二オブジェクトへ接続するためのアウトレットを前記第一オブジェクト中に作成するステップとからなるユーティリティ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、使用可能なサブプログラムを接続し且つ構成することによって、いわゆる「オブジェクト指向プログラム」のようなコンピュータ・プログラムを開発するシステム及びプロセスに関する。
【背景技術】
【０００２】
コンピュータ・プログラムは、コンピュータにより多くの有益なタスクが実行されることを可能にする。しかし、コンピュータ・プログラム、特にいわゆる「オブジェクト指向コンピュータ・プログラム」を作成するために、ユーザは特定のプログラム言語の構文の必要なコンピュータ・プログラミングの技能及び知識を持たなければならない。この必要なコンピュータ・プログラミングの技能及び知識を発達させるには、長時間に亘る熱意と、大抵、費用とがかかる。それ故に、本技術分野では、非コンピュータ・プログラマ或いは初歩的なトレーニングしか受けていないプログラマによって、コンピュータ・プログラムの開発を容易にすることができるようになることが目標とされている。
【０００３】
１９９２年１１月１０日に特許されネクスト・コンピュータ社（ＮｅＸＴ Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．）へ譲渡されたハロット（Ｈｕｌｌｏｔ）氏の米国特許第５，１６３，１３０号に開示されているシステムでは、少なくとも部分的には既に作成されている諸プログラムに対するグラフィカル・インタフェースを開発し、且つ、構成する上記目標に対する進展が、グラフィカル・ユーザ・インタフェース技術を使用することによって得られている。しかし、そのような従来技術システムでは諸サブプログラムの寄せ集めから完備した、任意なコンピュータ・プログラムをの開発することができなかった。この理由は、上記従来技術システムではアウトレットを使いこなす能力が制限されているためである。
【０００４】
ここで、「アウトレット」とは、特定の「ソース」オブジェクトと一以上の「デスティネーション」オブジェクトとの間のコネクションを作成するために必要な情報を供するデータ構造即ちオブジェクトを言う。現在の技術水準では、アウトレットは、特に他のオブジェクトと相互に作用するように設計されている「ソース」オブジェクト中に定義される。アウトレットの名前によって、各アウトレットはプログラム構成システムのユーザに、ソース・オブジェクトが適切にファンクションへ接続されるべき種類の「デスティネーション」オブジェクトを指示する指示を供する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、一以上のサブプログラム・エレメント及び一以上のグラフィック・インタフェース・エレメントの変動要素即ち変数及びファンクション部分が、他のサブプログラム・エレメント或いはグラフィック・インタフェース・エレメント中の変動要素或いはファンクションにリンクされることを許容するユーティリティプログラムによってコンピュータ・プログラムの作成を容易にし、それによって或る種のコンピュータ・プログラムがユーザが特定のコンピュータ言語の符号を直接読出したり、記述したり、或いは編集したりすることが無くとも完全に構成され、且つ、作成されることが可能となるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明によれば、プログラムを構成するためのそのユーティリティプログラムは、各々が変動要素即ち変数とアクション部とを有する少なくとも二個のサブプログラムを有するか、または少なくとも一個のサブプログラムと少なくとも一個のグラフィック・インタフェース・エレメントとを有するアプリケーション・プログラムをグラフィック・イメージによって表示させるビジュアル・ディスプレーを有するコンピュータ・システムで使用するために供される。上記プログラム構成ユーティリティは、非プログラマ或いは初歩的なプログラミング技能しか持っていない人が、単に或るプログラムが持つユーザ・インタフェースを目に見えないファンクショナル・プログラム・エレメントに構成することに限定されること無く、一以上のサブプログラムの集合を完全なコンピュータ・プログラムに構成することができるようにする。
【０００７】
［作用］
特に、本発明は、或るサブプログラムが、そのサブプログラムを他のサブプログラムへ接続することを容易にする新規アウトレットをそのサブプログラムにより作成されるように活気づけることによってプログラム構成時に定義されることが可能な任意の数のアウトレットを持つことが可能となる、システム及びプロセスを供することによって、従来技術を改善する。本発明の特定の実施例では、新規アウトレットに対する名前は、ａ）或るサブプログラムから他のサブプログラムへ試まれたコネクションによって得られるか、ｂ）そのプログラム構成システムのユーザによってそのアウトレット名を直接入力すること、即ち、それらアウトレット名をキーボードに打ち込むことによって供されるかの何れかが可能である。更に、本発明の一態様によれば、アウトレットはコネクションによって適切な関係のみが確立されることを確実にするために使用することができる一以上の制約条件パラメータを有するように拡張することができる。そのような制約条件パラメータは、ａ）許容された数のコネクション、ｂ）許容されたタイプのコネクション、ｃ）デスティネーション・オブジェクトの等級、及び、ｄ）必要とされるデスティネーション・オブジェクト動作を包含する。
【実施例】
【０００８】
本発明のプログラム構成システムは、幾つかの数のプログラム言語を使用するコンピュータ上で使用することができるが、オブジェクト指向プログラム言語を動作させるコンピュータと関連して使用するのに最適であり、本発明の好適な実施例はＣプログラム言語で記述されたプログラムを実行するコンピュータ向けに設計される。従って、以下の説明は少なくとも一部はオブジェクト指向プログラミングに、特にオブジェクト指向Ｃプログラミングに調製される。しかし、本発明がオブジェクト指向プログラム言語を動作させるシステムには限定されないことが理解されるべきである。
【０００９】
本発明のプログラム構成システムは、このプログラム構成システムを用いて構成される諸プログラムとは別の自立型ユーティリティである。構成されたコンピュータ・プログラム中で必要とされる何らかのコンポーネントのファンクション、オブジェクト、及びサブプログラムは、記述されるものと想定され、一般的には上記プログラム構成システムを用いてそれらを使用する前に実行されるようにすることができる。
【００１０】
以下の説明を理解するために、幾つかの用語が定義される必要がある。
【００１１】
先ず、「オブジェクト」は、特定のサブプログラム中で一緒に定義される一以上のデータ構造及び関連する動作の自立型集成である。
【００１２】
「コネクション」は、「ソース」オブジェクトと「デスティネーション」オブジェクトとの間の関係の細目を獲得するためにプログラム構成システムによって作成されたオブジェクトである。上記プログラム構成プロセス中にコネクションが確立され、それらコネクションがプログラム実行時に他のオブジェクトによって使用される。一般的には、コネクション・オブジェクトが図１に図示される関係の細目を獲得する。本発明の上記プログラム構成システムのキー・ファンクションは適切なオブジェクト間の対話を供することが必要となるときに、オブジェクト間のコネクションの定義を容易にするためのものである。
【００１３】
「アウトレット」は、特定の「ソース」オブジェクトから一以上の「デスティネーション」オブジェクトへのコネクションを作成するために必要とされる情報を供するデータ構造即ちオブジェクトである。本発明の一態様によれば、アウトレットは、特に他のオブジェクトと相互に作用するように設計されている「ソース」オブジェクト中で定義されるか、或いはそれら「ソース」オブジェクトのファンクショナル・オペレーションによって作成される。アウトレットが持つ名前、即ち関連するアウトレット変動要素が持つ名前によって、各アウトレットが本プログラム構成システムのユーザへ、ソース・オブジェクトが適切なファンクションへ接続されなければならない「デスティネーション」オブジェクトの種類のものを表わす表示を供する。その名前の他に、更に、本発明の一態様によれば、アウトレットが、適当な関係のみがコネクションによって確立されることを確実にするために使用することが可能な一以上の制約条件パラメータを有するように既に拡張されている。そのような制約条件パラメータには、ａ）許容された数のコネクション、ｂ）許容されたタイプのコネクション、ｃ）デスティネーション・オブジェクトの等級、及び、ｄ）必要とされるデスティネーション・オブジェクト動作が包含される。
【００１４】
一定のオブジェクトの適切なファンクションは、アプリケーション設計に依存して、それらが持つ最初の組のアウトレットがプログラム構成が行なわれる間に拡張される（例えば、数が増加される）。本発明の原理によれば、それらが持つ最初の組のアウトレットを別のアウトレットを用いて拡張するように規定するオブジェクトは、プログラム構成ツールからのメッセージによって拡張するようにし向けられると、拡張する。このようにして、或るオブジェクトが持つ元々の組のアウトレットに付加されるアウトレットは、ここでは「獲得アウトレット」と称され、上記プログラム構成ツールを使用することによって、個々に名前を付与される。上記プログラム構成ツールは適当な「デスティネーション」オブジェクトのファンクションから名前のリストを得るか、またはユーザにキーボードを使用することなどによって手動的に所望のアウトレット名を入力するように促すことによって、或いはそれらの両方によって、自動的に獲得アウトレットに命名するように規定することが可能である。本発明によれば、獲得アウトレットは、ａ）上記コンピュータ構成システムによるなどして表示され、且つ、注釈記号を付加され、ｂ）上記プログラム構成システムのユーザによりそのプログラム構成システムを使用して変更されることができ、且つ、ｃ）そのユーザにとって特に有意義な名前、例えばデスティネーション・スプレッド・シート・サブプログラムの範囲名、或いはデータベースの属性を持つことができる。
【００１５】
サブプログラム、それらのアウトレット、及びアウトレット属性の間の関係の説明を分かり易くするために、ここで図２を参照する。明瞭化のため、図２の以下の説明でのみ、アウトレットは明示的にアウトレット・オブジェクトと称されることとなる。サブプログラム・オブジェクト１７０１は一以上のアウトレット・オブジェクト１７０２に対する指示線を持つ。各アウトレット・オブジェクト１７０２は少なくとも「名前」を表わすアウトレット１７０３を持ち、且つ、一以上の命名されたコネクション・タイプ・オブジェクト１７０５に対する指示線を持つ。各コネクション・タイプ・オブジェクト１７０５は「タイプ名」を表わすアウトレット１７０６と、例えば、ａ）必要とされる数のコネクションを指すパラメータ１７０７、ｂ）目的サブプログラム中で必要とされる方法を指すパラメータ１７０８（なお、このパラメータ１７０８はここでは技法の用語、即ち、ファンクショナル・サブプログラムを指すものとして使用される）、ｃ）必要とされる等級の目的サブプログラムを指すパラメータ１７０９、及び、ｄ）上記アウトレットの実行可能な使用を記述するインディケータ・パラメータ１７１０、例えば、或る目的サブプログラムから他のアウトレット名を獲得するためにそのアウトレットを使用することが可能かどうかを記述するパラメータ、等の種々のパラメータを持つ。
【００１６】
ここで、図３にはコンピュータ・ディスプレーの表示画面が図示されており、この表示画面は、ユーザが、１）本発明のプログラム構成システムを既に入力しているとき、２）構成されるべきプログラムに対するプログラム・ファイルをそのシステムに対して既に識別しているとき、及び、３）構成されたプログラム中で使用するために必要なコンポーネントのサブプログラム及びグラフィカル・インタフェース・フィールドを既に識別しているとき、に表示される。この例では、上記構成されたプログラム、即ち、「マイ・プログラム（ＭＹ ＰＲＯＧＲＡＭ）」と命名されたプログラムであり、二個の数「ｘ」及び「ｙ」を入力として取り、それらの和を結果として表示するための簡単なプログラムである。ディスプレー１０はプログラム構成システムを示している。ファイル・ウインドウ１３は、「マイ・プログラム」を表示するグラフィック・エレメント１３０、マイ・ウインドウ１４を表示するグラフィック・エレメント１３１、「ファンクション-１（ＦＵＮＣＴＩＯＮ-１）」と呼ばれるサブプログラムを表示するグラフィック・エレメント１３３、及び「コネクションズ-１（ＣＯＮＮＥＣＴＩＯＮＳ-１）」と命名された別のサブプログラムを表示するグラフィック・エレメント１３４を包含する。ユーザは、マイ・ウインドウ１４のグラフィック・エレメント１３１上でクリックすることによってそのマイ・ウインドウ１４の開閉を行なう。
【００１７】
ユーザにより、マイ・ウインドウ１４は、そのマイ・ウインドウ１４が、１）その前にテキスト・ラベル「ｘ」が前に置かれているフィールド１４０、２）その前にテキスト・ラベル「ｙ」が前に置かれているフィールド１４１、３）その前にテキスト・ラベル「ｒ」が前に置かれているフィールド１４２、及び、「＋」記号が付記されているグラフィック・エレメント１４３を包含するように既に定義されている。マイ・ウインドウ１４、フィールド１４０乃至１４２及びグラフィック・エレメント１４３は、ユーザがパレット／ツール・ボックス１２から適当な項目を選択し、その選択された項目をディスプレー１０上の希望する位置にコピーすることによって作成されたものである。上記プログラムは、マウス・カーソルを表示しているマウス・ポインタ２０をフィールド１４０へ移動し、そのマウス・ボタンをクリックすることによって、その結果、所定の値「ｘ」を入力することが可能となり、それに続いてフィールド１４１について同様な動作を行なって所定の値「ｙ」を入力することが可能になり、続いて、「マイ・プログラム」を表わすグラフィック・エレメント１３０内で使用されるサブプログラムの組み合わせ、この例では、「コネクションズ-１」を表わすグラフィック・エレメント１３４と「ファンクション-１」を表わすグラフィック・エレメント１３３との組み合わせによって、フィールド１４２中に表示されるべき値「ｒ」が計算されるようにするグラフィック・エレメント１４３へマウス・ポインタ２０を移動してクリックするために、使用される。
【００１８】
本発明の原理によれば、そのようなプログラムが構築されるようにする一つの方法に、より大きなプログラム中で使用するために記述されたオブジェクトを包含するサブプログラムを別に構成し、それらサブプログラムを互いの間及び数個のユーザ・インタフェース・フィールド、例えば、マイ・ウインドウ１４のフィールド１４０乃至１４２及びグラフィック・エレメント１４３を持つ表示を供するユーザ・インタフェース・サブプログラムへリンクする方法がある。「ファンクション-１」を表わすグラフィック・エレメント１３３は一つのそのような構成することが可能なサブプログラム・オブジェクトであり、この例では、この特別なタイプの和を計算するために必要な完成されたプログラム・ロジックを供する特別なスプレッド・シート・サブプログラム・オブジェクトである。
【００１９】
「コネクションズ-１」を表わすグラフィック・エレメント１３４は別のそのようなサブプログラム・オブジェクトであり、同期トリガ機能を供するコネクション・ファンクションである。一旦、それらサブプログラムの全部、例えば、マイ・ウインドウ１４を制御するための符号、「ファンクション-１」を表わすグラフィック・エレメント１３３、「コネクションズ-１」を表わすグラフィック・エレメント１３４が記入されると、それらは完成された作業用プログラムを定義するために一緒にリンクすることが可能である。このようにするため、「ファンクション-１」及び「コネクションズ-１」と呼ばれる各サブプログラムを表示するグラフィック・イメージをパレット／ツール・ボックス１２中に供し、それら各グラフィック・イメージを少なくとも一回、上記で説明したファイル・ウインドウ１３中にコピーすることが必要である。そのパレット／ツール・ボックス１２上で表示される他のファンクションと同様に、「ファンクション-１」を表わすグラフィック・エレメント１３３、「コネクションズ-１」を表わすグラフィック・エレメント１３４は少なくとも部分的に前もって記入されなければならず、その結果、そのような各ファンクション或いはサブプログラムはその表示画面がパレット／ツール・ボックス１２に記憶されているときに一般的に実行可能である。そのようなサブプログラムを作成する方法は当業者に周知であると思われる。
【００２０】
上記必要なコネクションを確立するために、上記プログラム構成システムは以下の例による方法でしようされる。
【００２１】
特に、サブプログラム「コネクションズ-１」を表わすグラフィック・エレメント１３４をサブプログラム「ファンクション-１」を表わすグラフィック・エレメント１３３へ関連付けるために、ユーザは「コネクションズ-１」を表わすグラフィック・エレメント１３４をファイル・ウインドウ１３中でマウス・ポインタ２０をそのグラフィカル表示へ移動し、コンピュータのキーボード上のコントロール・キー（ＣＴＲＬ）を押し下げたままでマウス・ボタンをクリックすることによって選択する。図３のケースではそうはなっていないが、二以上の他の選択することができるサブプログラムが有ってもよい。
【００２２】
図４に示される如く、マウス・ボタンを押し下げている間に、上記コントロール・キーを解除することができ、ユーザはマウスを移動してマウス・ポインタ２０を最初に選択されたサブプログラム表示、即ち、「コネクションズ-１」を表わすグラフィック・エレメント１３４から着目した特定のサブプログラムに向けて動かすことができる。そのラインが着目したそのサブプログラム、例えば、「ファンクション-１」を表わすグラフィック・エレメント１３３へ達したとき、ユーザがマウス・ボタンを解除すると、上記二個のサブプログラム間のコネクションが強調表示される。そのようにして強調表示されたコネクションを図５に示す。この時点で、インスペクタ・ウインドウ３０が、それが前の活動から既に存在していない限り、ディスプレー１０上に表出する。
【００２３】
図６にインスペクタ・ウインドウ３０のより詳細な図を示す。リンク・モード或いはコネクション・モードとして知られている図示の動作モードでは、インスペクタ・ウインドウ３０のファンクションが、ａ）最後に選択されたサブプログラム、例えば「コネクションズ-１」を表わすグラフィック・エレメント１３４のアウトレットをサブウインドウ４００中に表示し、ｂ）目的サブプログラムの適当な実行可能なファンクション、例えば、「ファンクション-１」を表わすグラフィック・エレメント１３３を、他のサブプログラム或いはグラフィック・エレメントをリンクすることができる別のサブウインドウ４０１中に表示し、ｃ）上記選択されたアウトレットから上記選択されたサブプログラムへ許容されたコネクションのタイプ、例えば、図７の表５０１を表示し、且つ、ｄ）そのようなリンク即ちコネクションの作成を容易にする。「アウトレット」とラベルされているサブウインドウ４００は上記選択されたサブプログラム、この場合は「コネクションズ-１」を表わすグラフィック・エレメント１３４の初期の変動要素をリストする。「デスティネーションでのアクション」とラベルされているサブウインドウ４０１はコネクションのために使用可能な目的サブプログラム・ファンクショナル・ルーチン、この場合は「ファンクション-１」を表わすグラフィック・エレメント１３３中で使用可能な一組の適当なファンクションをリストする。
【００２４】
上記で説明したように、インスペクタ・ウインドウ３０は幾つかの異なる動作モードを有する。インスペクタ・ウインドウ３０はこのインスペクタ・ウインドウ３０の現在の動作モードを表示するサブウインドウ４２５を包含する。図６と図７の双方に示す如く、インスペクタ・ウインドウ３０はコネクション・モードにある。図８は属性モードでの図７のインスペクタ・ウインドウ３０を示している。インスペクタ・ウインドウ３０はまた、「ボタン」を表わすグラフィック・エレメント４２３、４２４及び４２７を有し、これらは各々、マウスによってクリックされたとき、特定のファンクションを開始する。現在「コネクション」とラベルされている「ボタン」のグラフィック・エレメント４２３は、コネクト・ファンクションとディスコネクト・ファンクションとの双方の用に供され、以下で詳細に説明し且つ図７に示すように、ときどき「ディスコネクト（ＤＩＳＣＯＮＮＥＣＴ）」とラベルされることがある。
【００２５】
ユーザはサブウインドウ４００中のアウトレットのうちの一つをそのアウトレットの名前の上へマウス・ポインタ２０を置き、マウス・ボタンをクリックすることによって選択する。ユーザは続いて選択されたアウトレットをデスティネーション・サブプログラム中で使用可能なアクションのうちの一つに関連付けることができる。このことはマウス・ポインタ２０をサブウインドウ４０１中の記述語の上に置き、再度マウス・ボタンをクリックすることによって成される。提示されたコネクションに対して、もし二以上のコネクション・タイプを特定することができる場合は、それら使用可能なタイプがサブウインドウ４２０中にリストされることとなる。ユーザはマウス・ポインタ２０を所望のコネクション・タイプの名前の上に置き、マウス・ボタンをクリックすることによってコネクション・タイプの選択或いは変更を行なう。
【００２６】
選択されたサブプログラムと目的サブプログラム内の対応するアクションとの間選択されたタイプのコネクションが、続いてマウス・ポインタ２０を「コネクト」ボタンを表わすグラフィック・エレメント４２３の上に置き、マウス・ボタンをクリックすることによって作成される。本実施例では、プログラムの実行時に、サブプログラム「コネクションズ-１」を表わすグラフィック・エレメント１３４内で先に定義されているプログラム・インストラクションのシーケンスによって或るアクション・メッセージが上記リンクされたアウトレットによって指された他のサブプログラムへ伝えられるとき、インスペクタ・ウインドウ３０中のそのコネクションのために選択された特定のアクション・メッセージがこの場合では「ファンクション-１」を表わすグラフィック・エレメント１３３へ伝えられる。
【００２７】
本発明によれば、ユーザは時々、任意に選択されたソース・オブジェクトとデスティネーション・オブジェクトとの間に所望のコネクションを特定することができる。上記の如く、このことは一般的にはマウス・ポインタ２０を画面上のソース・オブジェクト表示の上に置き、或るデスティネーション・オブジェクトへ上記のようにラインを描き、マウス・ボタンを解除することによって為される。各操作毎に、このことはユーザによって為され、そのソース・オブジェクトと関連するインスペクタ・ウインドウ３０が本システムによって表示され、上記ソース・オブジェクトのアウトレット変動要素名がインスペクタ・ウインドウ３０中にリストされる。インスペクタ・ウインドウ３０中の特定のアウトレットが次に選択されるかまたは強調表示され、或いは選択されるとともに強調表示されるとき、本システムは上記デスティネーション・オブジェクトから、ａ）上記デスティネーション・オブジェクトへ為すことができるコネクションのタイプ、ｂ）多数のコネクションを上記デスティネーション・オブジェクトへ接続することができる方法、及び、ｃ）上記強調表示されたアウトレットからデスティネーション・オブジェクトへのメッセージによってトリガすることができるデスティネーション・オブジェクト・ファンクション、を判定するために必要な全情報を得る。
【００２８】
このようにして上記デスティネーション・オブジェクトから得られた情報が、インスペクタ・ウインドウ３０中にユーザが選択するためのオプションとしてリストされているファンクション及びコネクション・タイプを判定するために使用される。本発明の一態様によれば、ユーザは、本システムにより上記選択されたデスティネーション・オブジェクトに対して適切なコネクションのタイプ及び数を選択することだけで済む。そのようなコネクションによって、デスティネーション・オブジェクト中の有意義なファンクションのみがトリガされる利点が有る。
【００２９】
本発明によれば、或るサブプログラム中の「ソース」アウトレットは一以上のデスティネーション・サブプログラムから別のアウトレットを獲得し且つ使用するように規定する。この特定のタイプのソースサブプログラム及びアウトレットは、適当なデスティネーション・サブプログラムへ接続されたとき、上記ソース・サブプログラムがその時、同様にサブウインドウ４００中にリストされている別のアウトレットを獲得するようにすることとなる。更に、或るサブプログラムによって獲得されているソース・アウトレットも同様に適当なデスティネーション・サブプログラムへ接続されたとき別のソース・アウトレットを獲得するように規定する。
【００３０】
図７に示すように、獲得アウトレットが同様にそれらがリストされるときにサブウインドウ４００中にリストされ、何らかの他のソース・オブジェクトが選択されるか、或いは上記獲得されたオブジェクトが獲得されるようにしたアウトレット自体が切断（ディスコネクト）されるまではそのリストが維持される。サブウインドウ４００内では、ａ）「＠」記号を表わすインディケータ５００が何らかの獲得アウトレットのすぐそばにリストされ、且つ、アスタリスク「＊」記号を表わすインディケータ４０４が、上記選択されたサブプログラムの情況/関係/関連ではデスティネーション・サブプログラムからソース・アウトレットを獲得するように規定し、或るいは規定することができる何らかのアウトレットのすぐそばにリストされる。アスタリスク「＊」記号を表わすインディケータ４０４も同様に、ソース・サブプログラムとデスティネーション・サブプログラムとの間の一以上のコネクションで使用されている何らかのアウトレットのすぐそばにリストされる。
【００３１】
本発明によれば、多数のソース変動要素から目的オブジェクトへのデータの同期コピーを規定しなければならないオブジェクトが、獲得されたアウトレットを使用するために特に適している。本実施例では、多数のユーザ・インタフェース・オブジェクトが「コネクションズ-１」を表わすグラフィック・エレメント１３４によって表示されているオブジェクトへ接続され、続いて「ファンクション-１」を表わすグラフィック・エレメント１３３によって表示されている特定のスプレッド・シート・サブプログラムへ接続される。「コネクションズ-１」を表わすグラフィック・エレメント１３４によって表示されているオブジェクトは、「スプレッドシート（ＳＰＲＥＡＤＳＨＥＥＴ）」と命名されている特定のアウトレットを介してそのオブジェクトが接続されている何らかのスプレッド・シートから別のアウトレットを獲得する能力を供されている。
【００３２】
このようにして獲得されたアウトレットは、上記目的スプレッド・シートの範囲名である。そのようなアウトレットを一旦獲得すると、それら獲得されたアウトレットは、それに限定されるものではないがユーザ・インタフェースを供するオブジェクトを包含する他のオブジェクトへ接続するに使用可能である。しかし、そのような獲得されたアウトレット、及び特に、それらに接続された他のオブジェクトへ伝達されたメッセージが、更に上記獲得しているアウトレットによって制御される。従って、デスティネーション・オブジェクトへのメッセージの同期は、上記獲得しているソース・オブジェクトによって容易に供され、且つ、例えば、ユーザ・インタフェースによって獲得され、単一のボタン・クリックによって生成されたデスティネーション・オブジェクトへの単一メッセージによってトリガすることができる。
【００３３】
同様に、データベース・モジュールへ接続するように設計されたオブジェクトもまた、容易にデータベースの属性に対応するアウトレットを獲得するように作成されている。データベースの属性を表示しているアウトレットを既に獲得しているオブジェクトは、例えばデータベース質問を調製するために必要なデータを収集し、且つそのデータ収集を同期させるために特に有益である。
【００３４】
或るタイプの獲得用オブジェクトに関する本発明の一態様によれば、獲得されるべきアウトレットは、図８に示されるようにインスペクタ・ウインドウ３０（図９参照）が属性モードにあるとき、ユーザがインスペクタ・ウインドウ３０中へアウトレット名を直接入力することができるようにすることによって、特定されることができる。インスペクタ・ウインドウ３０がその属性モード中で表示されるときは何時でも,ユーザは「アウトレット・リスト」を表わすサブウインドウ９２１中のブランク・スペースを強調表示させ、且つ、所望のアウトレット名中に打ち込むことによって新規アウトレット名を入力することができる。或いは、ユーザがそのリスト中に存在する獲得アウトレットを強調表示させ、その強調表示された名前の上に打ち込むことによってそのアウトレット名を変更することができる。このような方法でアウトレットを獲得するオブジェクトは、それらが多数の同期された論理比較、算術比較及び構文比較を供するように設計されているとき、特に有益である。例えば、このような方法で一つのオブジェクトに多数のアウトレットを獲得するようにさせるために、多数の個別的でそのうえ同時に行なわれる比較が、他のオブジェクトからの一個のイベントかまたはメッセージによってトリガされることができ、且つ、単一の結果としての成果が一以上の他のオブジェクトへ送付されるようにすることができる。
【００３５】
図７は、デスティネーション・サブプログラムの変動要素、例えば、「ファンクション-１」を表わすグラフィック・エレメント１３３からの変動要素（図３参照）が自動的に且つ直接的に獲得され、従って選択されたサブプログラム、例えば、「コネクションズ-１」を表わすグラフィック・エレメント１３４のファンクショナル・ルーチンによって採択され、且つサブウインドウ４００中に表示された後の、インスペクタ・ウインドウ３０を示す。ユーザはマウス・ポインタ２０を所望の変動要素、例えば、変動要素「Ａ１Ｂ１」を記述するアウトレット・ウインドウ４０７（図３参照）へ移動し、マウスをクリックしてその変動要素を強調表示させる。このように、或る変動要素が一旦強調表示されると、図９に示すように、ユーザは続いて、マウス・ポインタ２０（図３参照）が現在のインスペクタ・ウインドウ３０と関連するサブプログラム・グラフィック表示の上に置かれている間に、再度マウスをクリックし、他のサブプログラム、即ちこの例ではディスプレー１０上のフィールド１４０へ別のライン１１１（図９参照）を描く。
【００３６】
ディスプレー１０がプログラム・ユーザ・インタフェース中に定義されている何らかのフィールド、或いはファイル・ウインドウ１３（図３参照）中の何れか他のサブプログラムに取り組むとき、その目的フィールド或いはこの場合にはサブプログラムが強調表示されることとなる。従って或るフィールドまたはサブプログラムが強調表示されているときにマウス・ボタンを解除すると、ソース・オブジェクトとデスティネーション・オブジェクトとの間の目に見えるコネクションが未決の論理コネクションを表示するために描かれる。その未決の論理コネクションが表示されると、ａ）対応するソース・アウトレットがサブウインドウ４００中で強調表示され（図６参照）、ｂ）デスティネーションでの選択されたアクションがサブウインドウ４０１中で強調表示され、ｃ）選択されたコネクション・タイプがサブウインドウ４２０中で強調表示され、且つ、ｄ）もしその論理コネクションが存在するコネクションであれば、その論理コネクションが他の選択されたオブジェクトのアウトレットからの他のコネクションと共にサブウインドウ４１９中にリストされることとなる。
【００３７】
ユーザは更に、マウス・ポインタ２０が、ａ）４マウス・ポインタ２０中でワードを記述するアウトレット・ウインドウ５１０の上か、ｂ）サブウインドウ４００中で変動要素「Ａ１Ｂ１」を記述するアウトレット・ウインドウ４０７の上か、ｃ）「ディスティネーションでのアクション」を表わすサブウインドウ４０１中でワードを記述するアウトレット・ウインドウ４０３の上に置かれている間にマウス・ボタンをクリックすることによって作成されるべく提示されたコネクションのタイプを表示または変更することができる。
【００３８】
もし、提示されたコネクションが「コネクト（ＣＯＮＮＥＣＴ）」ボタンを表わすグラフィック・エレメント４２３をプレスすることによって確認されると、そのコネクションが、ａ）確立され、且つ、ｂ）強調表示された表示でサブウインドウ４１９中にリストされることとなる。一つのアウトレットが最初に接続されると、アスタリスク「＊」記号を表わすインディケータ４０４のようなインディケータがサブウインドウ４００中のアウトレット名のすぐそばに表出し、そのアウトレットが少なくとも一回接続されたことを表示する。特定のコネクションがサブウインドウ４１９中で選択され且つ強調表示されると、「コネクト／ディスコネクト（ＣＯＮＮＥＣＴ／ＤＩＳＣＯＮＮＥＣＴ）」ボタンを表わすグラフィック・エレメント４２３のラベルが図７に示すように「ディスコネクト」に変更される。マウス・ポインタ２０が特定のコネクションの上に有るとき、マウスがクリックされ、再び、「ディスコネクト」とラベルされているボタンを表わすグラフィック・エレメント４２３の上でクリックされるまで、各選択されたコネクション及びそのタイプがサブウインドウ４１９のリスト中に残る。
【００３９】
もし、インスペクタ・ウインドウ３０が最初に開かれてているときに、サブウインドウ４００中にリストされたアウトレット名が、例えば前のコネクション動作から、既に接続されており、更にアスタリスク「＊」記号を表わすインディケータ４０４が接続された各アウトレットに対して既に表示されている。もし、ユーザが既に接続されているアウトレット名を強調表示させると、ライン１１１（図９参照）のようなラインが表示され、その選択されたアウトレットを含むコネクション・リスト中の、或るインタフェース・フィールドまたはサブプログラムへの第一コネクションを示すこととなる。マウス・ポインタ２０がサブウインドウ４１９中の他のコネクションの上に有る間にユーザがマウス・ボタンをクリックすると他のラインが表示されることとなる。このことによって、コネクションを、それらが正確であることを確認するか、或いはそれらが何であるかを見いだすために調べることが可能になる。
【００４０】
もしユーザが、未だ接続されていないアウトレットを接続し、その一方で誤動作で何らかの他のグラフィカル表示へ接続されたアウトレットを強調表示することを意図して、ライン１１１（図９参照）が既に描かれていれば、そのライン１１１が消え、それに代わってそのアウトレットが接続されているフィールドまたはサブプログラムと上記選択されたサブプログラム、例えば、「コネクションズ-１」を表わすグラフィック・エレメント１３４との間のラインが表出される。一実施例では、ライン１１１は上記４０７を他のフィールドまたはサブプログラムへ接続することができるようになる前に、ユーザによって描き直される必要がある。既に接続されているアウトレットの強調表示を解除し、ライン１１１を自動的に復活する「復活（Ｕｎｄｏ）」ファンクションを供することもできる。さらにまた、或るコネクションが表示されているときは何時でも、ボタンを表わすグラフィック・エレメント４２３は「ディスコネクト」にラベルされ、ユーザはそのボタン、即ち、グラフィック・エレメント４２３をクリックしてそのアウトレットをディスコネクト（切断）し、他のアウトレットや、コネクション、コネクション・タイプ或いはアクションを選択するオプションを有する。
【００４１】
本発明の一態様によれば、もし或る特定のサブプログラム中の何らかのアウトレットが、そのアウトレットを接続することができるデスティネーション・サブプログラムから別のアウトレットを獲得するように規定していれば、サブウインドウ４００がそのアウトレット名を特定のインディケータ、例えば、「＋」記号を表わすインディケータ４０６と共にリストする。この結果、ユーザが、もし特定のサブプログラムが一以上の他の協動するサブ・ファンクションへ接続されればその特定のサブプログラムが別のアウトレットを獲得することができることを知る。
【００４２】
本発明の一態様によれば、もし或るコネクションが、特定のサブプログラムのアウトレット、例えば、デスティネーション・サブプログラムから別のアウトレットを獲得するように規定する「コネクションズ-１」を表わすグラフィック・エレメント１３４からそのアウトレットと接続されるデスティネーション・サブプログラム、例えば、「ファンクション-１」を表わすグラフィック・エレメント１３３へ為されると、別のアウトレット名が自動的に獲得され、「＠」記号を表わすインディケータ５００と共に同じサブウインドウ４０１中にリストされる。この結果、ユーザは獲得アウトレット及びそれらのコネクションが既に為されている何らかの他のコネクションに依存していることを知る。
【００４３】
本発明の一実施例によれば、上記の如く、全アウトレット名がそれらと関連する一組の「コネクション・タイプ」を有し、一つの特定のコネクション・タイプが各コネクションに対してそれを確立する前に選択される。サブウインドウ４００中の或る特定のアウトレットが強調表示されると、その現在選択されているコネクション・タイプがサブウインドウ４２０中にリストされ、強調表示される。ユーザはマウス・ポインタ２０をサブウインドウ４２０中の所望の５１０の上に置き、マウス・ボタンをクリックすることによってその選択を変更する。
【００４４】
上記プロセスは、他のサブプログラム中の全フィールド或いはアウトレットが他の必要とされるサブプログラムの必要とされるアウトレット及びアクションへ接続されるまで反復することができる。本実施例では，上記三個のフィールド１４０、１４１及び１４２が全て、それ自体が「ファンクション-１」を表わすグラフィック・エレメント１３３にリンクされている４個のアウトレット、Ａ１Ｂ１、Ａ２Ｂ１、Ａ３Ｂ１及びスプレッドシートを有する「コネクションズ-１」を表わすグラフィック・エレメント１３４のサブプログラム中のアウトレット、Ａ１Ｂ１、Ａ２Ｂ１、及びＡ３Ｂ１へリンクされている。更に、グラフィック・エレメント１４３のアウトレットもまた、それ自体が前記接続された「ファンクション-１」を表わすグラフィック・エレメント１３３の必要とされる動作をトリガする「コネクションズ-１」を表わすグラフィック・エレメント１３４のサブプログラム中のアクションにリンクされている。
【００４５】
本発明の一実施例では、「アウトレット」を指し示している変動要素或いはファンクションのみを、サブプログラムへ接続することができる。従って、或るアクションがデスティネーション・サブプログラム中で呼び出されるべきときには、そのアクションはアクション・メッセージをデスティネーション・サブプログラムへ伝達するコネクションのタイプをサポートするアウトレットへのメッセージによってトリガされる。或るアクションから或るデスティネーション・サブプログラムへ送付することができる上記特定のアクション・メッセージは、図７に示すように、アクション・コネクション・プロセス中にサブウインドウ４００中にリストされる。強調表示されたアウトレット名によってサポートされているコネクションの全タイプがサブウインドウ４２０中にリストされている。
【００４６】
全アウトレットの場合における如く、アスタリスクや他のインディケータ（図示せず）が接続されたアクションの名前のすぐそばに表示され、それらが両方とも強調表示されているとき、ボタンを表わすグラフィック・エレメント４２３が「ディスコネクト」ボタンになる。同様に、或るコネクションのアクションが強調表示されていれば、存在している或るサブプログラムへのコネクションが表示されることとなる。
【００４７】
本実施例では、マウス・ポインタ２０がグラフィック・エレメント１４３の上にある間におけるマウス・ボタンのクリックが、本発明の一態様により、「ファンクション-１」を表わすグラフィック・エレメント１３３の動作をトリガするのに適したアクション・メッセージを供するサブプログラム、「コネクションズ-１」を表わすグラフィック・エレメント１３４をトリガするために使用することができる。このリンクを確立するために、本プログラム構成システムのユーザは、マウス・ポインタ２０を「＋」ボタンを表示するグラフィック・エレメント１４３の上に置き、マウス・ボタンをクリックして、ファイル・ウインドウ１３中のサブプログラム「コネクションズ-１」を表わすグラフィック・エレメント１３４のグラフィック・エレメントへライン（図示せず）を描くことによって上記グラフィック・エレメント１４３を選択する。
【００４８】
図１０に示すように、マウス・ボタンが解除されると、上記二個のグラフィック・エレメント間のリンク２１１が表示される。このリンクが確立されると、インスペクタ・ウインドウ３０と同様なインスペクタ・ウインドウ（図示せず）であって、上記第一の選択されたグラフィック・エレメント、この例ではグラフィック・エレメント１４３と関連するインスペクタ・ウインドウが目に見えるようになり、上記での説明の如く、「＋」フィールドのサブプログラム中に定義されているアウトレットから「コネクションズ-１」を表わすグラフィック・エレメント１３４中に定義されているアクションへのコネクションを作成し、変更し、或いは見直しするために使用することができる。
【００４９】
この例では、上記で触れた如く、或るプログラムが既に存在するときは、その特性及びサブプログラムが、ワークスペース・マネージャとして知られているオペレーティング・システムの機構を介して本発明の上記プログラム構成システムに使用可能にされる。上記ワークスペース・マネージャは、図３に示すように、種々の使用可能なファイルをその中に表示するワークスペース・マネージャ・ウインドウ１５を供する。ａ）ワークスペース・マネージャ・ウインドウ１５中に既に存在するプログラム、例えば、「マイ・プログラム」を表わすグラフィカル表示を強調表示させ、ｂ）それをファイル・ウインドウ１３へドラッグし、且つ、ｃ）それをワークスペース・マネージャ・ウインドウ１５中でドロップすることによって、ユーザは、上記すでに存在しているプログラム、例えば、「マイ・プログラム」の特性が上記プログラム構成システムに認識されるようにする。
【００５０】
或るプログラムが既に構成され、ユーザがそのプログラム構成システムの完了をメニュー（図示せず）の「保存（ｓａｖｅ）」を選択することによって表明すると、上記プログラム構成システムによってファイルに各サブプログラム及びグラフィカル・ユーザ・インタフェースに関連する全プログラミング・オブジェクトのリスト、及び、もし有ればコネクションのリストとを記憶する。ユーザによって特定された各コネクションに対して、表５０１のそのような各コピーには、ａ）「コネクション・タイプ」フィールド５０２を、インデックスの形で種々のコネクション・タイプのリスト中に、ｂ）「ソース・サブプログラム（ソースと略記）」フィールド５０３と「ディスティネーション・サブプログラム（ディスティネーションと略記）」フィールド５０４とを、両方とも上記適正なオブジェクトへのポインタの形でそのオブジェクト・リスト中に、及び、ｃ）アウトレット変動要素の名前を、「アウトレット」フィールド５０５中に、且つ、もし有ればアクション・ファンクションを「アクション」フィールド５０６中に、それぞれ包含する。
【００５１】
更に、ユーザによって為された各コネクションに対して、本プログラム構成システムは、表５０１の「持ち主」フィールド５０７に、もし特定のコネクションが有ればそのコネクションに関連する「アウトレット」フィールド５０５中に命名されているアウトレットを獲得するために使用されたアウトレット変動要素を記憶する。一以上の表５０１を包含するプログラム構成ファイルが既に保存されているとき、本発明のプログラム構成システムの構築が完了する。
【００５２】
本プログラム構成システムは、その最初のラインに上記プログラム構成ファイルをロードし、実行するためのインストラクションを持つプログラムを供する。上記プログラム構成ファイルの実行により、適正なファイルがロードされ、一部、上記一以上の表５０１に基づいて適当なコネクションが作成され、且つ、種々のサブプログラム間の対話及びそれらの互いのコネクションから得られる適正なファンクションが明示される。
【００５３】
図１１乃至図１５は、以下「メイン・コネクション・プロセス」と称するプロセスのフロー・チャートを示し、このフロー・チャートは、ＣＴＲＬキーが押し下げられ且つマウス・ポインタ２０が「ファンクション-１」を表わすグラフィック・エレメント１３３や「コネクションズ-１」を表わすグラフィック・エレメント１３４のようなサブプログラム表示の上、或いはグラフィック・エレメント１４３のような画面ボタン・オブジェクトの上に有る間にユーザがマウス・ボタンをプレスするときに、条件分岐点６２で呼び出される。条件分岐点６１で上記マウス・ポインタ２０が既に移動しているかどうかを判定するため、テストされる。
【００５４】
もし条件分岐点６１でのテストの結果がＹＥＳであれば、マウス・ポインタ２０が既に移動していることが表示され、次いで条件分岐点６２で以前から存在する接続ラインが有るかどうかを判定するため、テストされる。もし条件分岐点６２でのテストの結果がＹＥＳであれば、以前から存在する接続ラインが有ることが表示され、ステップ６３でそれら以前から存在する接続ラインが画面から除去される。もし条件分岐点６２でのテストの結果がＮＯであるか、またはステップ６３が実行された後で、制御ルーチンはステップ６４へ進み、このステップ６４では選択されたサブプログラム、例えば、「コネクションズ-１」を表わすグラフィック・エレメント１３４とマウス・ポインタ２０との間の新規接続ラインが表示される。ここで、制御ルーチンは、更にマウス・ポインタ２０の移動を調べるために条件分岐点６１へ戻される。
【００５５】
もし条件分岐点６１でのテストの結果がＮＯであれば、マウス・ポインタ２０が未だ移動していなかったことが表示され、制御ルーチンは条件分岐点６５へ進み、この条件分岐点６５ではマウス・ボタンが既に解除されているかどうかを判定するため、テストされる。もし条件分岐点６５でのテストの結果がＮＯであれば、マウス・ボタンが未だ解除されていないことが表示され、制御ルーチンはマウス・ポインタ２０の移動の検査を継続するために条件分岐点６１へ戻される。もし条件分岐点６５でのテストの結果がＹＥＳであれば、マウス・ボタンが既に解除されていることが表示され、制御ルーチンは条件分岐点６６へ進み、この条件分岐点６６ではマウス・ポインタ２０が、サブプログラム「コネクションズ-１」を表わすグラフィック・エレメント１３４をもし上記接続ラインがそこで開始している場合に接続することができ、或いはグラフィック・エレメント１４３で表わされている上記ボタンをもし上記接続ラインがそこで開始している場合に接続することができる、或るタイプのオブジェクトの上に有るかどうかを判定するため、テストされる。
【００５６】
もし条件分岐点６６でのテストの結果がＮＯであれば、マウス・ボタンが解除されているがマウス・ポインタ２０は接続可能なオブジェクトの上には無いことが表示され、次いでステップ６７で何らかの表示されている接続ラインが見えないようにされ、且つ、ステップ６８で上記メイン・コネクション・プロセスが終結される。次いで、このシステムはユーザが他のタスクを選択するまで待機する。
【００５７】
もし条件分岐点６６でのテストの結果がＹＥＳであれば、接続可能なオブジェクトの上には無いことが表示されて、制御ルーチンはステップ６９へ進み、そのステップ６９ではそのオブジェクトの周囲に枠が表示され、その結果そのオブジェクトが強調表示される。条件分岐点６６でのテストの結果が何れの場合でも、ステップ６９或いはステップ６７の後、条件分岐点６００でインスペクタ・ウインドウ３０が見えるかどうかを判定するために、テストされる。もし条件分岐点６００でのテストの結果がＹＥＳであるか、またはステップ６０１が実行された後で、制御ルーチンは、以下、図１２に示す条件分岐点６０２へ進み、この条件分岐点６０２ではインスペクタ・ウインドウ３０が上記コネクション・モードにあるかどうかを判定するために、テストされる。もし条件分岐点６０２でのテストの結果がＮＯであれば、インスペクタ・ウインドウ３０はそのコネクション・モード中には無く、制御ルーチンはステップ６０３へ進み、そのステップ６０３ではインスペクタ・ウインドウ３０がコネクション・モードに設定される。もし条件分岐点６０２でのテストの結果がＹＥＳであるか、またはステップ６０３が実行された後で、制御ルーチンはステップ６０４へ進み、そのステップ６０４では使用可能なサブプログラム・アウトレットがインスペクタ・ウインドウ３０の左側カラムに表示される。
【００５８】
次に、条件分岐点６３０で、ステップ６０４で表示された何らかのアウトレットが既に接続されているかどうかを判定するために、テストされる。もし何らかのアウトレットが既に接続されていれば、条件分岐点６３１で実行可能な全獲得アウトレットがサブウインドウ４００（図７参照）中にリストされているかどうかを判定するために、テストされる。もし条件分岐点６３１（図１２参照）でのテストの結果がＮＯであれば、制御ルーチンはステップ６３２へ進み、そのステップ６３２では未だリストされていない獲得アウトレットがそのリストに加えられる。次いで、制御ルーチンは条件分岐点６３１へ戻され、そこで実行可能な全獲得アウトレットがリストされているかどうかがテストされる。
【００５９】
このようにして、多分数回の巡回の後、全アウトレットと獲得アウトレットの識別及びリストが完了すると、条件分岐点６３１でのテストの結果がＹＥＳになり、制御ルーチンはステップ６３３へ進み、そのステップ６３３では、リストされたアウトレットが一以上のデスティネーション・サブプログラムへの一以上のコネクション中に使用されていればそれらアウトレットにアスタリスク「＊」記号を表わすインディケータ４０４（図７参照）がマークされる。ステップ６３４（図１２参照）では、本発明の一態様により、獲得アウトレットには上記アウトレット名のすぐそばに「＠」記号を表わすインディケータ５００（図７参照）がマークされる。
【００６０】
その後、ステップ６３５（図１２参照）では、選択されたソースサブプログラム或いはフィールドからの全コネクションのリストがサブウインドウ４００（図７参照）中に表示される。もし条件分岐点６３０（図１２参照）でのテストの結果がＮＯであるか、またはステップ６３５が実行された後で、制御ルーチンはステップ６３６へ進み、そこではデスティネーション・サブプログラムから別のアウトレットを獲得するように規定する上記表示されたアウトレットに、それらアウトレットが接続されているか否かに拘らず、それらの名前のすぐそばに「＋」記号を表わすインディケータ４０６（図７参照）がマークされる。次に、ステップ６３８（図１２参照）では、コネクションを形成するために使用可能な、ステップ６０４かステップ６３２の何れかによってリストされた前記第一のアウトレットが強調表示される。次に、ステップ６３７で、サブウインドウ４００（図７参照）の上記強調表示されたアウトレットによってサポートされているコネクション・タイプのリストが、本発明の一態様により、サブウインドウ４１９中に表示される。
【００６１】
制御ルーチンは、以下、図１３に示す条件分岐点６０７へ進み、この条件分岐点６０７ではマウス・ボタンが既にクリックされているかどうかを判定するために、テストされる。もしマウス・ボタンが条件分岐点６０７（図１３参照）では未だクリックされていない場合、本システムは条件分岐点６０７でマウス・ボタンがクリックされるまで待機する。もし条件分岐点６０７でのテストの結果がＹＥＳであれば、マウス・ボタンが既にクリックされていることが表示され、制御ルーチンは条件分岐点６０８へ進み、そこではマウス・ポインタ２０（図７参照）がインスペクタ・ウインドウ３０内に有るかどうかを判定するために、テストされる。もしマウス・ポインタ２０がインスペクタ・ウインドウ３０内に無ければ、条件分岐点６０８（図１３参照）でのテストの結果はＮＯであり、ステップ６０９で全接続ラインが画面から除去される。続いてこのメイン・コネクション・ルーチンはステップ６１０で終結される。
【００６２】
もし条件分岐点６０８でのテストの結果がＹＥＳであれば、マウス・ポインタ２０（図７参照）がインスペクタ・ウインドウ３０内に有ることが表示され、条件分岐点６１１（図１３参照）でマウス・ポインタ２０（図７参照）がインスペクタ・ウインドウ３０の右側のカラムのサブウインドウ４０１中のディスティネーション・アクションの名前の上にあるかどうかを判定するために、テストされる。もし条件分岐点６１１（図１３参照）でのテストの結果がＹＥＳであれば、マウス・ポインタ２０がインスペクタ・ウインドウ３０の右側のカラムのサブウインドウ４０１中のアクションの名前の上にあることが表示され、制御ルーチンはステップ６１２へ進み、そこではマウス・ポインタ２０（図７参照）の下のアクションが強調表示され、前に強調表示されていた何らかのアクションが強調表示を解除される。
【００６３】
もし条件分岐点６１１（図１３参照）でのテストの結果がＮＯであれば、マウス・ポインタ２０がインスペクタ・ウインドウ３０の右側のカラムのサブウインドウ４０１中のアクションの名前の上に無いことが表示され、制御ルーチンは条件分岐点６４５へ進み、そこではマウス・ポインタ２０（図７参照）がサブウインドウ４２０（図７参照）中のコネクション・タイプの名前の上にあるかどうかを判定するために、テストされる。もし条件分岐点６４５（図１３参照）でのテストの結果がＹＥＳであれば、マウス・ポインタ２０（図７参照）が５１０（図７参照）の上にあることが表示され、制御ルーチンはステップ６４３（図１３参照）へ進み、そこでは本システムにより、サブウインドウ４２０（図７参照）中のコネクション・タイプが強調表示され、既に強調表示されていたと思われる何らかの他のコネクションが強調表示を解除される。
【００６４】
もし条件分岐点６４５（図１３参照）でのテストの結果がＮＯであれば、マウス・ポインタ２０（図７参照）がサブウインドウ４２０（図７参照）中のコネクション・タイプの名前の上には無いことが表示され、制御ルーチンは条件分岐点６７０（図１３参照）へ進み、そこではマウス・ポインタ２０（図７参照）がインスペクタ・モード・ボタンを表わすグラフィック・エレメント４２７の上にあるかどうかを判定するために、テストされる。もし条件分岐点６７０（図１３参照）でのテストの結果がＹＥＳであれば、マウス・ポインタ２０（図７参照）がインスペクタ・モード・ボタンを表わすグラフィック・エレメント４２７の上にあることが表示され、制御ルーチンはステップ７００（図１４参照）へ進み、そこではそのモード変更が為される。
【００６５】
もし条件分岐点６７０（図１３参照）でのテストの結果がＮＯであれば、制御ルーチンは条件分岐点６４６へ進み、そこではマウス・ポインタ２０がサブウインドウ４００（図７参照）中のアウトレットの名前の上にあるかどうかを判定するために、テストされる。もし条件分岐点６４６（図１３参照）でのテストの結果がＹＥＳであれば、マウス・ポインタ２０が或るアウトレットの名前の上にあることが表示され、制御ルーチンはステップ６４４（図１３参照）へ進み、そこではそのアウトレットが強調表示され、何らかの他の強調表示されたアウトレットが強調表示を解除される。次に、ステップ６４２においてこのアウトレット及び上記強調表示されたデスティネーションに対する有効なコネクション・タイプがリストされる。
【００６６】
ステップ６４２で有効なアウトレットがリストされた後、或いはステップ６４３で上記コネクション・タイプが強調表示された後、制御ルーチンはステップ６４４へ進み、そこでは上記強調表示されたアウトレット及びコネクション・タイプに対する何らかの有効なデスティネーション・アクションがサブウインドウ４２０（図７参照）中にリストされる。ステップ６４１（図１３参照）で有効なデスティネーション・アクションがリストされた後、或いは、ステップ６１２（図１３参照）でマウス・ポインタ２０（図７参照）の下のアクションが強調表示された後、制御ルーチンはステップ６４０へ進み、そこではボタンを表わすグラフィック・エレメント４２３（図７参照）上のラベルが「コネクト」に設定され、且つ、強調表示されていたと思われるサブウインドウ４１９中の何らかのコネクションが強調表示を解除される。ステップ６４０（図１３参照）の後、制御ルーチンは条件分岐点６０７へ戻り、マウス・ボタンが再びクリックされるまで待機する。
【００６７】
もし条件分岐点６７０（図１３参照）でのテストの結果がＹＥＳであれば、マウス・ポインタ２０（図７参照）がインスペクタ・モード・ボタンを表わすグラフィック・エレメント４２７（図７参照）の上に置かれていることが表示され、制御ルーチンはステップ７００（図１４参照）へ進み、そこではインスペクタ・モードが図８に示されるように、属性モードに切り替えられる。
【００６８】
ステップ７００（図１４参照）で上記インスペクタ・モードがコネクション・モードから属性モードへ切り替えられた後、制御ルーチンはステップ７０１（図１４参照）へ進み、そこではコネクションズ・モード・ウインドウ３０（図７参照）に代わって上記属性インスペクタ・モードが上記強調表示されたオブジェクトに対して表示される。次に、条件分岐点７０２で上記強調表示されたオブジェクトが獲得アウトレットを有するかどうかを判定するために、テストされる。もし条件分岐点７０２（図１４参照）でのテストの結果がＹＥＳであれば、そのオブジェクトが獲得アウトレットを有することが表示され、ステップ７０３でそれらのアウトレットが上記インスペクタ・ウインドウのアウトレット・ウインドウ９２０（図８参照）中にリストされる。
【００６９】
ステップ７０３の後か、或いは、条件分岐点７０２でのテストの結果がＮＯである場合に、条件分岐点７０４でマウス・ポインタ２０が上記属性インスペクタの上に置かれている間に上記マウス・ボタンが既にクリックされているかどうかを判定するために、テストされる。もし条件分岐点７０４でのテストの結果がＮＯであれば、マウス・ボタンが未だクリックされておらず、且つ制御ルーチンが条件分岐点７０４に留まっており、従って上記リストされたアウトレットがマウス・ボタンがクリックされるまで表示されたままにされる。もし条件分岐点７０４でのテストの結果がＹＥＳであれば、制御ルーチンが条件分岐点７０５へ進み、そこではマウス・カーソルを表示しているマウス・ポインタ２０が「インスペクタ・モード」ボタンを表わすグラフィック・エレメント９２７（図８参照）の上にあるかどうかを判定するために、テストされる。
【００７０】
もし条件分岐点７０５でのテストの結果がＹＥＳであれば、マウス・ポインタ２０が「インスペクタ・モード」ボタンを表わすグラフィック・エレメント９２７の上にある間に上記マウス・ボタンが既にクリックされていることが表示され、制御ルーチンは条件分岐点６０２（図１２参照）へ進み、そこでは上記インスペクタ・モードがコネクション・モードへ戻される。もし条件分岐点７０５（図１４参照）でのテストの結果がＮＯであれば、マウス・ボタンがクリックされるときにマウス・ポインタ２０が「インスペクタ・モード」ボタンを表わすグラフィック・エレメント９２７の上に無いことが表示され、制御ルーチンは条件分岐点７０６へ進み、そこではマウス・ポインタ２０が獲得アウトレットのリストを表わすサブウインドウ９２１（図８参照）中のブランク・スペースの上にあるかどうかを判定するために、テストされる。
【００７１】
もし条件分岐点７０６（図１４参照）でのテストの結果がＹＥＳであれば、マウス・ポインタ２０が上記獲得アウトレットのリスト中のブランク・スペースの上に置かれている間にマウス・ボタンがクリックされたことが表示され、制御ルーチンはステップ７０７へ進み、そこでは上記ブランク・スペースが強調表示される。もし条件分岐点７０６でのテストの結果がＮＯであれば、制御ルーチンは条件分岐点７１１へ進み、そこでは上記カーソルが、図８に示されるインスペクタ・ウインドウ上の獲得アウトレットのリストを表わす上記サブウインドウ９２１中の、獲得アウトレット名を記述するアウトレット・ウインドウ９２０（図８参照）の上にあるかどうかを判定するために、テストされる。
【００７２】
もし条件分岐点７１１（図１４参照）でのテストの結果がＮＯであれば、マウス・ポインタ２０が上記獲得アウトレット名の上には無いことが表示され、制御ルーチンはステップ７０１へ戻り、マウス・ボタンが再びクリックされるまで待機する。もし条件分岐点７１１でのテストの結果がＹＥＳであれば、マウス・ポインタ２０が上記獲得アウトレット名の上にあることが表示され、制御ルーチンはステップ７１２へ進み、そこでは前記選択されたアウトレット名が強調表示され、更にステップ７１３でその強調表示されたアウトレットが削除される。
【００７３】
ステップ７１３或いはステップ７０７の後、例えばキーボードからユーザが新規アウトレット名を定義するために供した入力が、ステップ７０８で受領される。条件分岐点７０９で、入力されたアウトレット名の構文の有効性、例えば、そのアウトレット名が有効な名前（例として、全部がブランクではない名前）であるかどうかを調べるためにテストされる。
【００７４】
もし条件分岐点７０９でのテストの結果がＮＯであれば、その名前は有効ではなく、制御ルーチンは条件分岐点７０４へ戻り、マウス・ボタンが再びクリックされるまで待機する。もし条件分岐点７０９でのテストの結果がＹＥＳであれば、ステップ７０８でキーボードからの入力によって供されたアウトレット名は有効であり、ステップ７１０で或るメッセージが前記命名されたアウトレットを獲得するために前記強調表示されたオブジェクトへ伝えられる。このようにしてステップ７１０で前記アウトレットが前記強調表示されたオブジェクトにより獲得された後、制御ルーチンはステップ７０１へ戻り、マウス・ボタンが再びクリックされるまで待機する。
【００７５】
もし条件分岐点６４６（図１３参照）でのテストの結果がＮＯであれば、マウス・ポインタ２０（図７参照）がアウトレットの名前の上には無いことが表示され、制御ルーチンは条件分岐点６４７（図１５参照）へ進み、そこではマウス・ポインタ２０（図７参照）がサブウインドウ４１９中のコネクションの上にあるかどうかを判定するために、テストされる。もし条件分岐点６４６でのテストの結果がＹＥＳであれば、マウス・ポインタ２０（図７参照）がサブウインドウ４１９中のコネクションの上にあることが表示され、制御ルーチンはステップ６５０（図１５参照）へ進み、そこでは本システムにより、前記接続されたサブプログラムのソース・グラフィカル表示とデスティネーション・グラフィカル表示のみを強調表示して、何らかの接続ラインが隠され、且つ、上記選択されたコネクションのラインが描き直される。次に、ステップ６５１では、本システムにより、サブウインドウ４００（図７参照）中に強調表示されているコネクションのアウトレットが強調表示され、且つ、何らかの他の強調表示されていたアウトレットが強調表示を解除される。
【００７６】
ステップ６５２（図１５参照）では、前記選択されたアウトレットに対する何らかの許容できるコネクション・タイプがサブウインドウ４２０（図７参照）中にリストされ、それから、ステップ６５３（図１５参照）では、前記選択されたアウトレットのコネクション・タイプが強調表示される一方で他のコネクション・タイプが全部強調表示を解除される。次に、ステップ６５４では前記選択されたアウトレットから前記選択されたデスティネーションへのコネクションのタイプによって許容されたアクションがサブウインドウ４０１（図７参照）中に表示される。その後、ステップ６５５（図１５参照）では、前記強調表示されたコネクションの前記選択されたアクションが強調表示され、その一方でディスプレー１０中の何らかの他の前に強調表示されていたアクションが強調表示を解除される。次に、ステップ６５６では「ボタン」を表わすグラフィック・エレメント４２３（図７参照）上のラベルが「ディスコネクト」に設定される。制御ルーチンは続いて条件分岐点６０７（図１３参照）へ戻り、別のボタン・クリックが為されるのを待機する。
【００７７】
もし条件分岐点６４７でのテストの結果がＮＯであれば、マウス・ポインタ２０が上記サブウインドウ４１９中のコネクションの上には無いことが表示され、制御ルーチンは条件分岐点６１６へ進み、そこではマウス・ポインタ２０が「コネクト」ボタンを表わすグラフィック・エレメント４２３（図７参照）の上にあったかどうかを判定するために、テストされる。もし条件分岐点６１６でのテストの結果がＮＯであれば、マウス・ポインタ２０が「コネクト」ボタンを表わすグラフィック・エレメント４２３（図７参照）の上には無いことが表示され、制御ルーチンは条件分岐点６０７（図１３参照）へ戻り、ボタンがクリックされるのを待機する。もし条件分岐点６１６でのテストの結果がＹＥＳであれば、制御ルーチンはステップ６１７へ進み、そこでは図１６と図１７とにそれぞれ示されている「コネクション削除／作成プロセス」を呼び出す。
【００７８】
図１６と図１７とは、一緒に図１５中のステップ６１７で呼び出される上記コネクション削除／作成プロセスのフロー・チャートを構成する。このプロセスは、ステップ８０（図１６参照）でマウス・ポインタ２０がインスペクタ・ウインドウ３０の「コネクト」ボタンを表わすグラフィック・エレメント４２３（図７参照）の上にある間にマウス・ボタンがクリックされたとき、入力される。次に、条件分岐点８１（図１６参照）でサブウインドウ４１９（図７参照）中に選択されたコネクションが存在するかどうかを判定するために、テストされる。
【００７９】
もし条件分岐点８１（図１６参照）でのテストの結果がＮＯであれば、強調表示された状態の選択されたコネクションが無いことが表示され、制御ルーチンは図１７に示される条件分岐点８２へ進み、そこでは接続されるべき強調表示されたアウトレットが有るかどうかを判定するために、テストされる。もし条件分岐点８２でのテストの結果がＮＯであれば、接続されるべき強調表示されたアウトレットが無いことが表示され、制御ルーチンは条件分岐点６０７（図１３参照）へ進み、そこでは別のボタン・クリックが為されるまで待機する。
【００８０】
もし条件分岐点８２でのテストの結果がＹＥＳであれば、強調表示されたアウトレットが有ることが表示され、制御ルーチンは条件分岐点８３へ進み、そこでは、ａ）強調表示されたアウトレットと、ｂ）強調表示されたコネクション・タイプと、ｃ）強調表示されたデスティネーションと、ｄ）強調表示されたアクションとの組み合わせが何らかの存在しているコネクションに対して既に定義されているかどうかを判定するために、テストされる。もし条件分岐点８３でのテストの結果がＹＥＳであれば、そのようなコネクションが既に存在していることが表示され、制御ルーチンはステップ８４へ進み、そこでは冗長コネクションが要求されたことを表示するメッセージがユーザへ注意喚起のために与えられる。続いて、制御ルーチンは条件分岐点６０７（図１３参照）へ戻り、マウス・ボタンが再びクリックされるまで待機する。
【００８１】
もし条件分岐点８３（図１６参照）でのテストの結果がＮＯであれば、冗長コネクションが無いことが表示され、制御ルーチンは条件分岐点８５０へ進み、そこでは上記強調表示されたアウトレットに関連するパラメータにより上記強調表示されたデスティネーションが考慮されているかどうかを判定するために、テストされる。本実施例では、条件分岐点８５０で各アウトレットに関連するパラメータにより上記プログラム構成システムが不適当なデスティネーション、特に必要な動作を持たないデスティネーション・オブジェクトへのコネクションが作成されるのを防止する。
【００８２】
もし条件分岐点８５０でのテストの結果がＮＯであれば、上記アウトレット・パラメータによって選択された上記デスティネーションへの選択された上記タイプのコネクションが妨害されることが表示され、制御ルーチンはステップ８５へ進み、そこでは、上記アウトレット・パラメータ、コネクション・タイプ、及びデスティネーション・オブジェクト動作の間に暗黙の重複が有ることを表示しているユーザに制約条件無視メッセージが表示される。続いて、制御ルーチンは条件分岐点６０７（図１３参照）へ戻り、別のボタン・クリックがなされるのを待機する。
【００８３】
しかし、もし条件分岐点８５０（図１７参照）でのテストの結果がＹＥＳであれば、上記強調表示されたアウトレット及び上記強調表示されたデスティネーションのパラメータにより上記強調表示されたデスティネーション・オブジェクトが考慮されていることが表示され、制御ルーチンはステップ８５１へ進み、そこでは、上記強調表示されたアウトレットから上記強調表示されたアクションに関連する上記強調表示されたデスティネーションへの選択された上記タイプの新規コネクションが作成される。同様に、サブウインドウ４００中の上記アウトレット名のすぐそばにアスタリスク「＊」記号を表わすインディケータ４０４（図７参照）が表示される。次に、ステップ８５２（図１７参照）で上記新規コネクションの諸細目がサブウインドウ４１９（図７参照）中の前記コネクション表示に付加される。
【００８４】
その後、条件分岐点８５３（図１７参照）で上記強調表示された新規コネクションが諸アウトレットを獲得するように規定しているかどうかを判定するために、テストされる。もし条件分岐点８５３（図１７参照）でのテストの結果がＹＥＳであれば、上記新規コネクションが前記デスティネーション・サブプログラム或いはデスティネーション・フィールドから新規アウトレットを獲得するように規定していることが表示され、制御ルーチンはステップ８５４へ進み、そこでは、本システムにより上記選択されたソース・オブジェクトが別のアウトレットを獲得するようにされ、且つ、それらアウトレットがそれら各アウトレットのすぐそばに「＠」記号を表わすインディケータ５００と共に前記インスペクタ・ウインドウ３０中にリストされるようにされ、そのような各アウトレットが獲得アウトレットであることが表示される。
【００８５】
条件分岐点８５３でのテストの結果がＮＯであるか、或いはステップ８５４が実行された後、本システムにより上記新規コネクションが何ら獲得アウトレットを供していないことが見いだされ、制御ルーチンはステップ８５５へ進み、そこでは、「ボタン」を表わすグラフィック・エレメント４２３（図６参照）のラベルが図７に示されるように「ディスコネクト」に変更される。続いて、制御ルーチンは条件分岐点６０７（図１３参照）へ戻り、そこでボタン・クリックが為されるのを待機する。
【００８６】
もし条件分岐点８１（図１６参照）でのテストの結果がＹＥＳであれば、サブウインドウ４１９（図７参照）中に強調表示されたコネクションが有ることが表示され、制御ルーチンはステップ８１０（図１６参照）へ進み、そこでは、前記選択されたコネクションをディスコネクト（切断）し前記ディスプレー１０を更新するプロセスが開始される。続いてステップ８１０では、上記選択されたコネクションが上記選択されたアウトレットに対する上記からコネクション・リストから除去される。次に、ステップ８１１でインスペクタ・ウインドウ３０（図７参照）中のサブウインドウ４００（図７参照）がクリアされる。次に、ステップ８１２（図１６参照）で前記選択されたソース・オブジェクトによって供されたアウトレットのリストがサブウインドウ４００（図７参照）中に表示される。
【００８７】
条件分岐点８３０（図１６参照）では、ステップ８１２で表示された何らかのアウトレットが既に接続されているかどうかを判定するために、テストされる。もし、そのような既に接続されたアウトレットがあれば、条件分岐点８３０でのテストの結果がＹＥＳであり、制御ルーチンは条件分岐点８３１へ進み、そこでは、前記実行可能な獲得アウトレットの全てがサブウインドウ４００（図７参照）中にリストされているかどうかを判定するために、テストされる。前にリストされなかった獲得アウトレットは全てステップ８３２でそのリストに付加される。続いて、制御ルーチンは条件分岐点８３１へ戻り、そこで、全ての実行可能な獲得アウトレットがリストされているかどうかがテストされる。
【００８８】
条件分岐点８３１とステップ８３２との間の多分数回の巡回でアウトレット及び獲得アウトレットが全て識別されてリストされた後、制御ルーチンはステップ８３３へ進み、そこでは、何らかのリストされたアウトレットに、もしそれらが一以上のデスティネーション・サブプログラム或いはデスティネーション・フィールドへの一以上のコネクション中で使用される場合には、アスタリスク「＊」記号を表わすインディケータ４０４（図７参照）がマークされる。ステップ８３４（図１２参照）では、全獲得アウトレットがそのアウトレット名のすぐそばに「＠」記号を表わすインディケータ５００（図７参照）がマークされ、それから、ステップ８３５（図１２参照）では、上記選択されたソース・サブプログラム或いはソース・フィールドからの全コネクションのリストがサブウインドウ４００（図７参照）中に表示される。
【００８９】
次に、ステップ８３６（図１６参照）では、或るデスティネーション・サブプログラムから別のアウトレットを獲得するように規定するアウトレットが、そのアウトレットの名前のすぐそばに「＋」記号を表わすインディケータ４０６（図７参照）がマークされる。その後、ステップ８３７（図１６参照）で、上記強調表示されたアウトレットによってサブウインドウ４００（図７参照）中にサポートされているコネクション・タイプのリストがサブウインドウ４２０（図７参照）中に表示される。続いて、制御ルーチンは条件分岐点６０７（図１３参照）へ戻り、そこでは、別のボタン・クリックが為されるのを待機する。
【００９０】
本発明の原理によれば、本システムにより、上記選択されたグラフィック・エレメントによって表示されているプログラム・メモリ中のオブジェクトへ、上記オブジェクトが前記オブジェクトが有するアウトレットのリストを探す為に質問されるようにするようなメッセージを伝えることによって、上記ソース・オブジェクト・プログラム論理が活気付けられ諸アウトレットが獲得される。このようにして適切に設計されたソース・オブジェクトが質問されると、続いてそのソース・オブジェクトからそれに接続され且つ強調表示されているデスティネーション・オブジェクトへ、新規アウトレット変動要素名或いはオブジェクトに命名するために使用することができる属性名を探す為の質問が為される。
【００９１】
続いてそのソース・オブジェクトにより、そのソース・オブジェクト自体が持つプログラム論理を使用するために、前記デスティネーション・オブジェクトによって供され、前記質問に応答する名前を使用して、新規アウトレットが作成される。従って、上記ソース・オブジェクトにより機能的に作成されたそれら新規アウトレットは「獲得アウトレット」と呼ばれ、前記インスペクタ・ウインドウ３０中の「＠」記号を表わすインディケータ５００のすぐそばにリストされる。好適な実施例では、名前を探すために質問される特定のデスティネーション・オブジェクトは、アウトレット名を生成するように規定するタイプの存在しているコネクション、例えば、上記インスペクタ・ウインドウ３０中の「＋」記号を表わすインディケータ４０６がマークされたアウトレットを有するコネクション、の一部である。
【００９２】
この例のプログラムでは、最初に上記インスペクタ・ウインドウ３０が表示されているとき、前記インスペクタ・ウインドウ３０中に上記ソース・オブジェクト「コネクションズ-１」を表わすグラフィック・エレメント１３４が持つアウトレットをリストする目的で、このソース・オブジェクト「コネクションズ-１」を表わすグラフィック・エレメント１３４が本システムによってそのオブジェクトが持つアウトレットのリストを探すために質問される。「コネクションズ-１」を表わすグラフィック・エレメント１３４に関連するメモリ中のオブジェクトがそのようにして質問されると、各サブプログラムのファンクションと協同して「ファンクション-１」を表わすグラフィック・エレメント１３３へ確立されたコネクションにより、「コネクションズ-１」を表わすグラフィック・エレメント１３４によって獲得されるべきアウトレット変動要素名或いはオブジェクトとして使用することができる名前のリストを探すために「ファンクション-１」を表わすグラフィック・エレメント１３３へ質問が為されるようにし向けられる。
【００９３】
好適な動作モードでは、接続されているデスティネーション・オブジェクトに質問することによってアウトレット変動要素名或いはアウトレット・オブジェクトを獲得するのに必要な機能性を包含するオブジェクトもまた、本システムによって、システム・ユーザが本システムのキーボードを使用して所望のアウトレット変動要素名中に直接打ち込むことが可能となるように操作することができる。本システムにより、ユーザがキーボードを使用してインスペクタ・ウインドウ３０から前記属性インスペクタへ切り替えることによって、手操作で獲得アウトレットの名前の付加、削除、及び変更を行なうように規定される。上記属性インスペクタへの切り替えは、ユーザがマウスをインスペクタ・モード・ボタンを表わすグラフィック・エレメント４２７の上に置いて前記マウス・ボタンをクリックすることにより為される。ユーザは同一のプロセスによって上記インスペクタ・ウインドウ３０に戻すことができる。
【００９４】
本発明は殆ど従来のどのようなコンピュータ・システムに対しても実行することができる利点が有り、例えば、本発明が実行される実施例のコンピュータ・システム９００が図１８に示される。コンピュータ・システム９００には、ａ）ＣＰＵ９０１、ｂ）メイン・メモリ９０２、ｃ）ビデオ・メモリ９０３、ｄ）ユーザが入力のために用いるキーボード９０４、ｅ）本発明に従ってグラフィック・イメージを操作するためのマウス９０５、及び、ｆ）大容量記憶装置９０６が包含され、更に、一以上の磁気的、光学的、または磁気光学的な記録技術の何れか、或いは何らかの他の大容量記憶技術を使用する、固定式記憶媒体及び着脱式記憶媒体の双方を包含することもできる。
【００９５】
これらのコンポーネントａ乃至ｆは従来の双方向システム・バス９０７を介して相互に接続される。双方向システム・バス９０７には、メイン・メモリ９０２及びビデオ・メモリ９０３の何らかの部分にアドレスするための３２本のアドレス・ラインが包含されている。双方向システム・バス９０７にはまた、ａ）ＣＰＵ９０１、ｂ）メイン・メモリ９０２、ｃ）ビデオ・メモリ９０３、及びｆ）大容量記憶装置９０６のうちの何れか二者の間、及び三者以上の間でデータを転送するための３２ビット・データ・バスを包含することもできる。
【００９６】
図示の実施例では、ＣＰＵ９０１にはモトローラ（Ｍｏｔｏｒｏｌａ）社の３２ビット・マイクロプロセッサ６８０３０が使用されているが、その代わりに何れか他の適当なマイクロプロセッサまたはマイクロコンピュータを使用することもできる。上記６８０３０マイクロプロセッサについての詳細な情報、特にそのインストラクション・セット、バス構造、及び制御線に関する情報は、アリゾナ（Ａｒｉｏｎａ）州フェニックス（Ｐｈｏｅｎｉｘ）市のモトローラ社（Ｍｏｔｏｒｏｌａ Ｉｎｃ．）から発行されている「ＭＣ６８０３０ユーザーズ・マニュアル」から得ることができる。
【００９７】
コンピュータ・システム９００のメイン・メモリ９０２には、８メガ・バイトの大きさの従来のダイナミック・ランダム・アクセス・メモリが包含されているが、それ以上或いはそれ以下の大きさのメモリを適当に使用することもできる。ビデオ・メモリ９０３には２５６キロ・バイトの大きさの従来のデュアル・ポート・ランダム・アクセス・メモリが包含されている。なお、ビデオ・メモリ９０３には、所望される解像度に依り、それ以上或いはそれ以下の大きさのメモリを使用することもできる。
【００９８】
ビデオ・メモリ９０３の一つのポートにはビデオ・マルチプレクサ兼シフタ９０８が接続されており、更に、そのビデオ・マルチプレクサ兼シフタ９０８にはビデオ増幅器９０９が接続されている。このビデオ増幅器９０９により、ＣＲＴラスタ・モニタ９１０が駆動される。ビデオ・マルチプレクサ兼シフタ９０８及びビデオ増幅器９０９は従来のもので構成されており、それらによりビデオ・メモリ９０３に記憶されたピクセル・データがＣＲＴラスタ・モニタ９１０で使用されるのに適したラスタ信号に変換される。ＣＲＴラスタ・モニタ９１０は、１１２０ピクセルの横幅×８３２ピクセルの高さの解像度を持つグラフィック・イメージを表示するのに適したタイプのものである。
【００９９】
［発明の効果］
以上説明したように、本発明は、一以上のサブプログラム・エレメント及び一以上のグラフィック・インタフェース・エレメントの変動要素及びファンクション部分が、他のサブプログラム・エレメント或いはグラフィック・インタフェース・エレメント中の変動要素或いはファンクションにリンクされることを許容するプログラム構成方法及びプログラム構成装置によってコンピュータ・プログラムの作成を容易にし、それによって或る種のコンピュータ・プログラムがユーザが特定のコンピュータ言語の符号を直接読出したり、記述したり、或いは編集したりすること無くするために完全に構成され、且つ、作成されることが可能となるようにすることができる効果が有る。
【図面の簡単な説明】
【０１００】
【図１】本発明によって記憶された情報の表を示す図である。
【図２】サブプログラム、それらのアウトレット、及びアウトレット・属性間の関係を示す図である。
【図３】本発明によるコンピュータ・プログラム構成システム及び方法によりユーザに与えられた画面表示の一例を示す図である。
【図４】本発明によるコンピュータ・プログラム構成システム及び方法によりユーザに与えられた画面表示の他の一例を示す図である。
【図５】本発明によるコンピュータ・プログラム構成システム及び方法によりユーザに与えられた画面表示の更に他の一例を示す図である。
【図６】図５の画面表示の一部を示す図である。
【図７】図９の画面表示の一部を示す図である。
【図８】図９の画面表示の一部を示す図である。
【図９】本発明によるコンピュータ・プログラム構成システム及び方法によりユーザに与えられた画面表示の更に他の一例を示す図である。
【図１０】本発明によるコンピュータ・プログラム構成システム及び方法によりユーザに与えられた画面表示の更に他の一例を示す図である。
【図１１】本発明を実行するためのプロセスの一部分を示すフロー・チャートである。
【図１２】本発明を実行するためのプロセスの別の部分を示すフロー・チャートである。
【図１３】本発明を実行するためのプロセスの更に他の一部を示すフロー・チャートである。
【図１４】本発明を実行するためのプロセスの更に他の一部を示すフロー・チャートである。
【図１５】本発明を実行するためのプロセスの更に他の一部を示すフロー・チャートである。
【図１６】本発明を実行するためのプロセスの更に他の一部を示すフロー・チャートである。
【図１７】本発明を実行するためのプロセスの更に他の一部を示すフロー・チャートである。
【図１８】本発明のシステム及び方法が実行されるコンピュータのハードウエアのブロック図。
【符号の説明】
【０１０１】
１０  ディスプレー
１１１  ライン
１２  パレット／ツール・ボックス
１３  ファイル・ウインドウ
１３０  グラフィック・エレメント
１３１  グラフィック・エレメント
１３３  グラフィック・エレメント
１３４  グラフィック・エレメント
１４  マイ・ウインドウ
１４０  フィールド
１４１  フィールド
１４２  フィールド
１４３  グラフィック・エレメント
１５  ワークスペース・マネージャ・ウインドウ
１５０  グラフィック・エレメント
２０  マウス・ポインタ
２１  描画ライン
２１１  リンク
３０  インスペクタ・ウインドウ
４００  サブウインドウ
４０１  サブウインドウ
４０２  サブウインドウ
４０３  アウトレット・ウインドウ
４０４  インディケータ
４０５  アウトレット・ウインドウ
４０６  インディケータ
４０７  アウトレット・ウインドウ
４１９  サブウインドウ
４２０  サブウインドウ
４２３  グラフィック・エレメント
４２４  グラフィック・エレメント
４２５  サブウインドウ
４２７  グラフィック・エレメント
５００  インディケータ
５０１  表
５０２  フィールド
５０３  フィールド
５０４  フィールド
５０５  フィールド
５０６  フィールド
５０７  フィールド
５１０  アウトレット・ウインドウ
５２０  アウトレット・ウインドウ
５２１  アウトレット・ウインドウ
９００  コンピュータ・システム
９０１  ＣＰＵ
９０２  メイン・メモリ
９０３  ビデオ・メモリ
９０４  キーボード
９０５  マウス
９０６  大容量記憶装置
９０７  双方向システム・バス
９０８  ビデオ・マルチプレクサ兼シフタ
９０９  ビデオ増幅器
９１０  ＣＲＴラスタ・モニタ
９２０  アウトレット・ウインドウ
９２１  サブウインドウ
９２５  サブウインドウ
９２７  グラフィック・エレメント
１７０１  サブプログラム・オブジェクト
１７０２  アウトレット・オブジェクト
１７０３  アウトレット
１７０４  アウトレット
１７０５  コネクション・タイプ・オブジェクト
１７０６  パラメータ
１７０７  パラメータ
１７０８  パラメータ
１７０９  パラメータ
１７１０  パラメータ
【図１】
2006092570.tif 000003
【図２】
2006092570.tif 000004
【図３】
2006092570.tif 000005
【図４】
2006092570.tif 000006
【図５】
2006092570.tif 000007
【図６】
2006092570.tif 000008
【図７】
2006092570.tif 000009
【図８】
2006092570.tif 000010
【図９】
2006092570.tif 000011
【図１０】
2006092570.tif 000012
【図１１】
2006092570.tif 000013
【図１２】
2006092570.tif 000014
【図１３】
2006092570.tif 000015
【図１４】
2006092570.tif 000016
【図１５】
2006092570.tif 000017
【図１６】
2006092570.tif 000018
【図１７】
2006092570.tif 000019
【図１８】
2006092570.tif 000020