(57)【特許請求の範囲】
【請求項１】
入力装置からオペレータの操作情報が入力され、表示装置の画面上に図形が描画される図形を用いたプログラミングシステムにおいて、
視覚化部品記憶手段と、処理単位記憶手段と、包含関係指示手段と、包含関係管理手段と、データ連携手段と、代表値変更手段とを有し、
前記視覚化部品記憶手段は、任意の図形の情報と該図形に対応するプログラムを特定するプログラム情報と該プログラム情報で特定されたプログラムの実行により得られるデータ情報とを含む部品の情報を記憶し、前記データ連携手段のデータの受け渡しを契機として、図形連動処理を実行して、図形の属性を前記データに基づき前記処理単位記憶手段に計算させ、図形の表示内容を変更する必要がある場合に該図形の表示内容を変更し、前記部品と他の部品との間で複数のスロットを介してデータを受け渡すために一時記憶し、前記処理単位記憶手段から出力されるデータを記憶するデータ構造情報部を備え、
前記処理単位記憶手段は、所定のプログラムを記憶し、前記データ連携手段によって受け渡されたデータに基づき前記プログラムを実行し、該実行によって得られるデータを前記視覚化部品記憶手段に出力し、
前記包含関係指示手段は、オペレータに前記入力装置を介して表示装置の画面上における複数の前記部品間での包含関係を指定させ、
前記包含関係管理手段は、指定された前記包含関係を記憶し、
前記データ連携手段は、前記包含関係管理手段に記憶された前記部品間の前記包含関係に基づいて、前記部品間でデータを受け渡し、
前記代表値変更手段は、前記部品と他の部品との間でデータが受け渡される複数のスロットの内、最も頻繁に使用されるスロットを介してデータを受け渡す前記データ構造情報部内の値を代表値とする、
ことを特徴とする図形を用いたプログラミングシステム。
【請求項２】
前記プログラミングシステムは、
前記部品間で包含関係をもたせて得られた新規な部品に対応する前記機能のプログラムを変換する処理構造変換手段をさらに備える
請求項１に記載の図形を用いたプログラミングシステム。
【請求項３】
前記プログラミングシステムは、
前記部品のデータ構造を変換するデータ構造変換手段をさらに備える
請求項２に記載の図形を用いたプログラミングシステム。
【請求項４】
前記データ連携手段は、前記部品間の如何なる形式のデータをも送受信せしめるインタフェースをさらに備える
請求項３に記載の図形を用いたプログラミングシステム。
【請求項５】
前記プログラミングシステムは、
前記部品の情報を自動的に生成し前記視覚化記憶手段に記憶する視覚化部品発生手段をさらに備える
請求項１に記載の図形を用いたプログラミングシステム。
【請求項６】
複数の各前記プログラミングシステム間で協調作業を行うとき、各前記プログラミングシステムの各前記表示装置内に共有される各協調作業場領域を設け、各前記協調作業場領域内で発生する入力手段によるかまたは図形の変化によるイベントを共有させるイベント管理手段をさらに備える
請求項３または４に記載の図形を用いたプログラミングシステム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はプログラミングシステムに関し、特に１つのまとまったタスクを実行する演算処理またはデータベース処理等の機能をもつプログラムを１つの図形に対応させて表示装置の画面上に表示し、エンドユーザが視覚的にその図形を捕らえマウス等で直接操作してプログラミングする図形を用いたプログラミングシステムに関する。
【０００２】
また本発明によるプログラミングシステムは、視覚化された部品の組み合わせが可能であり、エンドユーザが容易にアプリケーションプログラムを作成または編集することができる。
また本発明によるコンピュータプログラミングシステムは、複数のコンピュータ間において、各コンピュータを操作するオペレータの入力操作によるイベント、または各コンピュータが表示出力する画面上の図形の変化によるイベントが共有でき、各コンピュータ間でネットワークを介して各オペレータが協調作業する環境を構築でき、教育分野またはゲーム分野に適用できる。
【０００３】
【従来の技術】
今日に至るまでのコンピュータのプログラミングは、１つのまとまったタスクを実行する演算処理またはデータベース処理等の機能をもつプログラムを複数個登録して集めたライブラリが複数個用意され、これらのライブラリを利用して所望の機能を有するプログラムを所定のプログラミング言語で所定のライブラリから呼び出すプログラムおよび各ライブラリの実行順序とデータ受渡し方法をエディタを用いて記述して所望のアプリケーションプログラム（ソースファイル）を作成し、作成したソースファイルをコンパイルしてアドレスが未定のリロケータブルなオブジェクトファイルを作成し、ソースファイルに必要な演算処理用ライブラリ、データベース処理用ライブラリ、図形操作用ライブラリ、等、をリンカによりそのオブジェクトファイルとリンクしてコンピュータが実行可能なアドレスの確定したマシン言語に変換したプログラムを作成し、コンピュータにロードするという一連の操作を必要としていた。またはインタープリタによりソースプログラミングの命令を逐次解釈して実行していた。
【０００４】
また、図形の編集に関してＧＵＩ（Graphical User Interface）を用いてプログラミングを実行するときは、例えばＧＵＩを用いて画面上に描いたボタンの操作に応じて、何を実行させるかを記述するアプリケーションプログラムを作成する必要が生じる。さらに各ライブラリを操作する関数インターフェースも各ライブラリで異なり、すなわちライブラリ毎にデータの呼び出し、データの形式、記述順序、等の所定のフォーマットが用意されており、これらの知識がないと各ライブラリを利用するプログラミングが作成できない。
【０００５】
【発明が解決しようとする課題】
従って、従来技術によるコンピュータのプログラミングは、データ間のリンクがプログラム言語で記述される等可読性が悪く、専門家であるプログラマーでないエンドユーザでは容易にプログラミングができないという問題があり、ひいてはエンドユーザがコンピュータを十分に活用できないという問題がある。
【０００６】
また、アイコンプログラミングによりアイコン等の目的機能を表した図形を線で結合し視覚化してプログラミングする方法があるが、プログラムが視覚化されても、作成したプログラムを再利用するのは困難であり、完成したプログラムという知的資産を活用できないという問題がある。
【０００７】
また、従来技術によるプログラミングは、数値型データまたは文字型データ等のようにデータ構造を意識してプログラミングする必要があり、複雑なデータ構造をプログラミングするときプログラムミスするという問題と、データ構造の可読性が悪いという問題とがある。
【０００８】
また、従来技術による複数のコンピュータ間の協調作業は、各コンピュータの固有性ゆえに、複数のコンピュータ間の協調作業の作業形態が変更される毎に、使用するコンピュータ全体のシステムを変更しなければならないという問題がある。
【０００９】
また、従来技術によるプログラミングは、処理単位間の可読性が悪く、ある処理単位間の内部で別の副処理単位が実行されるときは、プログラム定義文中にひとまとまりで実行されることを意味するブロックを作成したり、処理文を一段下げて（段付けして）記述して明示する必要があり、またこれらの関係を図形表示装置上に図示するためには、処理の実行時と同様にコンパイル処理や解釈実行処理が必要であるという問題がある。
【００１０】
本発明は上記問題点に鑑み、専門知識を有するプログラマのみならず、エンドユーザもまた容易にプログラミングできるプログラミングシステムを提供することを主目的とする。
【００１１】
また本発明は、作成した視覚化されたプログラムを画面上で複写、削除、合成、分解、等の編集をして再利用することのできるプログラミングシステムを提供することを他の目的とする。
【００１２】
また本発明は、複雑なデータ構造をプログラムミスなく視覚的に容易にプログラミングできる、データ構造の可読性のよいプログラミングシステムを提供することを他の目的とする。
【００１３】
また本発明は、複数のコンピュータ間の協調作業の作業形態が変更されても、使用するコンピュータ全体のシステムを変更しないでもよいプログラミングシステムを提供することを他の目的とする。
【００１４】
また本発明は、各処理を実行する各機能を各図形部品に対応させ、複数の機能を組み合わせる場合でも、図形と図形を貼り合わせるという視覚的操作により、実現できるようにして、可読性のよい、処理の実行時と同様にコンパイル処理や解釈実行処理に伴うプログラミングの操作が必要でないプログラミングシステムを提供することを他の目的とする。
【００１５】
【課題を解決するための手段】
前記目的を達成する本発明の図形を用いたプログラミングシステムは、入力装置（１２）からオペレータの操作情報が入力され、表示装置（１１）の画面上に図形が描画される図形を用いたプログラミングシステムにおいて、視覚化部品記憶手段（３）と、処理単位記憶手段（５）と、包含関係指示手段（２）と、包含関係管理手段（１０）と、データ連携手段（８）と、代表値変更手段（７）とを有し、前記視覚化部品記憶手段は、任意の図形の情報と該図形に対応するプログラムを特定するプログラム情報と該プログラム情報で特定されたプログラムの実行により得られるデータ情報とを含む部品の情報を記憶し、前記データ連携手段のデータの受け渡しを契機として、図形連動処理を実行して、図形の属性を前記データに基づき前記処理単位記憶手段に計算させ、図形の表示内容を変更する必要がある場合に該図形の表示内容を変更し、前記部品と他の部品との間で複数のスロットを介してデータを受け渡すために一時記憶し、前記処理単位記憶手段から出力されるデータを記憶するデータ構造情報部を備え、前記処理単位記憶手段は、所定のプログラムを記憶し、前記データ連携手段によって受け渡されたデータに基づき前記プログラムを実行し、該実行によって得られるデータを前記視覚化部品記憶手段に出力し、前記包含関係指示手段は、オペレータに前記入力装置を介して表示装置の画面上における複数の前記部品間での包含関係を指定させ、前記包含関係管理手段は、指定された前記包含関係を記憶し、前記データ連携手段は、前記包含関係管理手段に記憶された前記部品間の前記包含関係に基づいて、前記部品間でデータを受け渡し、前記代表値変更手段は、前記部品と他の部品との間でデータが受け渡される複数のスロットの内、最も頻繁に使用されるスロットを介してデータを受け渡す前記データ構造情報部内の値を代表値とする、ことを特徴とする。
【００１６】
図１は本発明の原理構成図である。前記目的を達成する本発明の図形を用いたプログラミングシステムは、キーボード、マウス等からなる入力装置１２からオペレータの操作情報が入力され、ＣＲＴ等からなる表示装置１１へ画面情報が出力されるＣＰＵとメモリ等からなる処理装置において、
演算処理またはデータベース処理等の機能をもつプログラムを１つの図形に対応させた部品の情報を記憶し、部品の情報を表示装置１１の画面上に表示する視覚化部品記憶手段３と、
部品に対応する機能のプログラムを記憶し、そのプログラムの実行により得られるデータを視覚化部品記憶手段３に出力する処理単位記憶手段５と、
部品の情報を自動的に生成して視覚化部品記憶手段３に記憶する視覚化部品発生手段６と、
を備えて構成する。
【００１７】
本発明のプログラミングシステムは、
入力装置１２からオペレータの操作情報が入力され、表示装置１１の画面上に図形が描画される図形を用いたプログラミングシステムにおいて、
演算処理またはデータベース処理等の機能をもつプログラムを１つの図形に対応させた部品の情報を記憶し、部品の情報を表示装置１１の画面上に表示する視覚化部品記憶手段３と、
部品に対応する機能のプログラムを記憶し、そのプログラムの実行により得られるデータを視覚化部品記憶手段３に出力する処理単位記憶手段５と、
表示装置１１の画面上における入力手段１２からのオペレータの操作情報を受け、部品の複写、削除、合成、分解、等の編集を行い、部品を表す図形と他の部品を表す図形との間で包含関係をもたせる包含関係指示手段２と、
部品間の包含関係を記憶する包含関係管理手段１０と、
包含関係管理手段１０に記憶された部品間の包含関係に基づいて、部品間のデータの受け渡しをさせるデータ連携手段８と、
を備え、複数の部品から新規な部品を作成してプログラミングする。
【００１８】
本発明のプログラミングシステムは、
部品と他の部品との間でデータが受け渡しされる複数のスロットの内、最も頻繁に使用されるスロットを介してデータを受け渡しするデータ構造情報部３ｂ内の値を代表値とする代表値変更手段７をさらに備え、
視覚化部品記憶手段３は、部品と他の部品との間で複数のスロットを介してデータを受け渡しするために一時記憶し、処理単位記憶手段５から出力されるデータを記憶するデータ構造情報部３ｂを備える。
【００１９】
本発明のプログラミングシステムは、
部品間で包含関係をもたせて得られた新規な部品に対応する前記機能のプログラムを変換する処理構造変換手段４ｂをさらに備える。
【００２０】
本発明のプログラミングシステムは、
部品のデータ構造を変換するデータ構造変換手段４ａをさらに備える。
【００２１】
本発明のプログラミングシステムにおけるデータ連携手段８は、部品間の如何なる形式のデータをも送受信せしめるインターフェースをさらに備える。
【００２２】
本発明の複数の各プログラミングシステム１間で協調作業を行うとき、各プログラミングシステム１の各表示装置１１内に共有される各協調作業場領域を設け、各協調作業場領域内で発生する入力手段１２によるかまたは図形の変化によるイベントを共有させるイベント管理手段９をさらに備える。
【００２３】
【作用】
本発明の図形を用いたプログラミングシステムは、各関数のライブラリを図形に対応させて記憶し、より詳しくは、任意の図形情報と該図形に対応するプログラムを特定するプログラム情報と該プログラム情報で特定されたプログラムの実行により得られるデータ情報とを含む部品の情報を記憶し、記憶した図形を貼り合わせて新たな図形を作成して記憶し、これらの図形を表示手段の画面上に視覚的に捕えて入力手段により操作して画面上に表示してプログラミングできる。
【００２４】
本発明の図形を用いたプログラミングシステムは、複数のコンピュータ間の協調作業が、各コンピュータの各画面上の共有領域で実現でき、共有領域以外の領域では、各コンピュータに固有のタスクを実行できる。
【００２５】
【実施例】
図１は本発明の原理構成図である。本発明の図形を用いたプログラミングシステムは、キーボード、マウス等からなる入力装置１２からオペレータの操作情報が入力され、ＣＲＴ等からなる表示装置１１へ画面情報が出力されるＣＰＵとメモリ等からなる処理装置１において、処理装置１は、包含関係指示手段２、視覚化部品情報記憶手段３、データ構造変換手段４ａ、処理構造変換手段４ｂ、処理単位記憶手段５、視覚化部品発生手段６、代表値変更手段７、データ連携手段８、イベント管理手段９および包含関係管理手段１０から構成される。
【００２６】
包含関係指示手段２は、オペレータによる操作入力を入力装置１２を介して受け、表示装置１１の画面上に描画された親の図形の上に子の図形を移動して載せる一連の操作により親の図形と子の図形との間に包含関係をもたせるように指示する手段である。包含関係指示手段は、部品を複写、削除、合成、分解、等して編集する手段である。ここで包含関係とは、表示装置の画面上に重ね合わせて描画された下側の図形を親、上側の図形を子として定義される親子関係をいう。
【００２７】
図２は本発明による視覚化部品情報記憶手段と処理単位記憶手段の詳細説明図である。本図において表示装置１１の画面上には台紙Ａの部品の上にメータＢの部品が表示され、スライダＣの部品のカーソルがメータＢの針と連動して移動する状態を示す。包含関係管理手段１０に格納されている情報は部品Ｂの親は部品Ａであるという情報のみである。
【００２８】
視覚化部品情報記憶手段３は、各部品に対して視覚化部品情報３ａ、データ構造情報３ｂおよび図形連動処理情報３ｃの３種類の情報から構成される。視覚化部品情報３ａには、各部品に対し、図形領域サイズ、図形連動処理、対応処理単位、対応データ構造、代表値データ識別子、およびデータ結合先データ識別子の各情報が格納され、データ構造情報３ｂには、各部品がもつ他の部品との入出力結合部であるスロットのデータ識別子とその値が格納され、図形連動処理情報３ｃには、各部品の図形を表示装置１１の画面上に描画するための情報が格納される。
【００２９】
次に、図形としての視覚的に操作できるライブラリ（演算処理またはＲＤＢ処理等の個々のプログラム）に対応する部品の作成方法について、以下に説明する。部品定義ファイルを、数値型と文字型のデータを貼り合わせてなる部品スロット定義ファイルと、ライブラリに対応する演算処理またはＲＤＢ処理等の個々のプログラムファイルとから自動生成する。自動生成した部品定義ファイルを言語プロセッサを介してオブジェクトファイルを作成し、使用する図形操作ライブラリと演算処理ライブラリおよびＲＤＢ処理ライブラリとをリンカによりリンクして計算機の実行形式のダイナミック・リブ・ライブラリを作成し、これを処理装置にロードすれば、視覚的に捕らえることのできる部品を表示装置の画面上に呼び出すことができる。このように部品を発生させる命令を部品ジェネレーション命令という。
【００３０】
データ構造変換手段４ａは、包含関係指示手段２と視覚化部品記憶手段３とから入力を受け、データ構造を変換して視覚化部品記憶手段３へ出力する。
【００３１】
処理構造変換手段４ｂは、同様に包含関係指示手段２と視覚化部品記憶手段３とから入力を受け、処理構造を変換して視覚化部品記憶手段３へ出力する。
【００３２】
処理単位記憶手段５は、各部品の処理機能を記述した命令列からなるプログラム情報と、そのプログラムを実行させて得られるデータ値であって、視覚化部品情報記憶手段３におけるデータ構造情報３ｂに格納されるデータ識別子に対応する値を更新するデータ値の情報とからなる。
【００３３】
視覚化部品発生手段６は、予め部品の視覚化部品情報記憶手段３における視覚化部品情報３ａ、データ構造情報３ｂ、図形連動処理情報３ｃの各情報を自動生成する手段である。なお、この手段に代えて部品の視覚化部品情報記憶手段３における前記各情報は、コーディングで入力してもよい。
【００３４】
代表値変更手段７は、視覚化部品情報３ａの代表値データ識別子に対応するデータ構造情報３ｂのデータ識別子の値を、部品のメインスロットから出力される値とする。代表値の変更は視覚化部品情報３ａが更新されるときになされる。
【００３５】
データ連携手段８は、包含関係管理手段１０に格納された表示装置１１の画面上に表示される部品間の親子関係の情報に基づいて、親子間のデータの受け渡しを処理する手段である。このデータ連携手段８により親子関係をもった部品間でデータを受け渡す際、統一されたインターフェースを設けているので、全ての部品間で受け渡しができる。
【００３６】
イベント管理手段９は、複数の表示装置間で共通の作業場としての部品をマスタ表示装置からスレーブ表示装置へ複写し、かつ各表示装置で発生したマウスの操作によるイベントまたは図形の変化によるイベントの情報をサーバ・アンド・クライアント形通信方式により共有させる。
【００３７】
包含関係管理手段１０は、表示装置１１の画面上に表示される部品間の親子関係の情報を格納し、データ連携手段８により親子関係を有する部品間のメインスロットを介してデータを伝搬する。
【００３８】
図３は視覚化部品発生手段の処理のフローチャートである。本図以降において図中Ｓに続く数字は各処理におけるステップ番号を示す。以下に視覚化部品発生手段の処理をステップ順に説明する。最初に、部品の視覚化部品情報を作成し、対応する処理単位のアドレスを設定し（ステップＳ１）、処理単位へ入出力されるデータ値の個数を後述するジェネレータの定義文から読み出し（ステップＳ２）、その個数分の視覚化部品情報に対応するデータ構造を作成し（ステップＳ３）、処理単位に書かれた全てのデータのデータ構造内のデータ識別子に順次データを書き込み（ステップＳ４）、データ結合先のデータ識別子をＮｉｌに設定し（ステップＳ５）、対応する図形連動処理のアドレスを設定して図形連動処理を生成し、すなわちジェネレータで書かれた図形を描かせるプログラミングが読み込まれ（ステップＳ６）、図形領域サイズを標準値または指定値に設定し（ステップＳ７）、図形連動処理を実行し、すなわち図形を表示させるプログラムを実行し、表示手段により図形を表示し（ステップＳ８）、終了する。
【００３９】
図４はデータ連携手段の処理の前半フローチャートであり、図５はデータ連携手段の処理の後半フローチャートである。以下にデータ連携手段の処理をステップ順に説明する。最初に、指定された部品を更新対称部品に設定し（ステップＳ１）、指定されたデータ識別子を更新データに設定し（ステップＳ２）、指定された値を更新値に設定し（ステップＳ３）、部品更新処理を実行し（ステップＳ４）、値の変化したデータ識別子リストは代表値のデータ識別子を含むか否か判別し、その判別結果がＹＥＳのときはステップＳ６へ進み、その判別結果がＮＯのときはステップＳ１３へ移行し（ステップＳ５）、データ結合先のデータ識別子の値はＮｉｌでないか否か判別し、その判別結果がＮｉｌでないときはステップＳ７へ進み、その判別結果がＮｉｌのときはステップＳ１３へ移行し（ステップＳ６）、包含関係管理情報から親部品を検索し（ステップＳ７）、親部品は包含関係管理情報内に有りか判別し、その判別結果が有りのときステップＳ９へ進み、その判別結果が無しのときステップＳ１３へ移行し（ステップＳ８）、現部品のデータ結合先のデータ識別子を更新データに設定し（ステップＳ９）、親部品の代表値のデータを更新値に設定し（ステップＳ１０）、親部品を更新代表部品に設定し（ステップＳ１１）、親部品を現部品に設定し、ステップＳ４へ戻る（ステップＳ１２）。
【００４０】
ステップＳ５、Ｓ６またはＳ８終了後、包含関係管理情報から子部品を検索し、伝搬先部品リストに書き込み（ステップＳ１３）、伝搬先部品リストが空か否かを判別し、その判別結果がＹＥＳのときは終了し、その判別結果がＮＯのときは、ステップＳ１５へ進み（ステップＳ１４）、伝搬先部品リストから１つの部品を取り出し、更新対象部品と設定し（ステップＳ１５）、代表値のデータ識別子を更新データに設定し（ステップＳ１６）、更新対象部品のデータ結合先のデータ識別子で示されるデータの値を更新値と設定し（ステップＳ１７）、部品更新処理を実行し（ステップＳ１８）、更新対象部品を現部品と設定し、ステップＳ１３へ戻る（ステップＳ１９）。
【００４１】
図６はデータ連携手段における部品更新処理の詳細フローチャートである。以下に部品更新処理をステップ順に説明する。最初に、更新対象部品のデータ識別子に対応する値を更新し（ステップＳ１）、対応する処理単位のデータ値を対応するデータ識別子の値に設定し、命令列を実行し（ステップＳ２）、命令列の実行後にデータ値の変化が有ったか否かを判別し、その判別結果がＹＥＳのときステップＳ４へ進み、その判別結果がＮＯのときは終了し（ステップＳ３）、データ識別子のデータを更新し（ステップＳ４）、図形連動処理を実行して表示し（ステップＳ５）、値の変化したデータ識別子を記憶し（ステップＳ６）、終了する。
【００４２】
図７は描画時の図形連動処理のフローチャートである。以下にデータ構造内のデータ値が変化したときにデータ連携手段からイベント管理手段が呼び出され、図形を描画する図形連動処理をステップ順に説明する。最初に、図形の位置、大きさ、形状、色、等の属性をデータ値に基づき計算し（ステップＳ１）、図形の表示内容を変更する必要があるか否かを判別し、その判別結果がＹＥＳのときはステップＳ３へ進み、その判別結果がＮＯのときは終了し（ステップＳ２）、図形領域サイズを計算して視覚化部品情報に設定し（ステップＳ３）、図形を表示装置の画面上に描画し（ステップＳ４）、イベント管理手段を呼び出して図形の状態が変化したことを伝達し（ステップＳ５）、終了する。この図形連動処理により、例えばメータの針を動かす図形の編集プログラムが実行される。
【００４３】
図８はイベント発生時の図形連動処理のフローチャートである。以下にイベントが発生したときに、イベント管理手段から呼び出され、表示が変化したときにデータを書き換える図形連動処理をステップ順に説明する。最初に、図形の表示を変更する必要のあるイベントか否か判別し、その判別結果がＹＥＳのときはステップＳ２へ進み、その判別結果がＮＯのときはステップＳ５へ移行し（ステップＳ１）、イベントによる図形の位置、大きさ、形状、等の属性を計算し（ステップＳ２）、図形領域サイズを計算して視覚化部品情報に設定し（ステップＳ３）、図形を表示装置の画面上に描画し（ステップＳ４）、データ構造内のデータ値を変更する必要のあるイベントか否かを判別し、その判別結果がＹＥＳのときはステップＳ６へ進み、その判別結果がＮＯのときは終了し（ステップＳ５）、変更すべきデータのデータ識別子を決定して変更後の値を計算し（ステップＳ６）、データ連携手段を呼び出してその部品のデータ構造内のデータを指定した値に変更し（ステップＳ７）、終了する。
【００４４】
図９は貼り合わせ構造から新規の処理構造を生成する処理のフローチャートである。以下に貼り合わせ構造から新規の処理構造を生成する処理をステップ順に説明する。最初に、空の処理単位をもつ部品Ａを生成し（ステップＳ１）、最も上位の親を一時記憶部に登録し（ステップＳ２）、一時記憶部は空か否かを判別し、空と判別されたときは終了し、空でないと判別されたときはステップＳ４へ進み（ステップＳ３）、一時記憶部から部品Ｐを一つ選択し（ステップＳ４）、部品Ｐの対応する処理単位を部品Ａの対応する処理単位に追加し（ステップＳ５）、部品Ｐを一時記憶部から削除し（ステップＳ６）、部品Ｐは子をもつか否かを判別し、子をもつと判別されたときはステップＳ８へ進み、子をもたないと判別されたときはステップＳ３へ戻り（ステップＳ７）、部品Ｐの子を全て一時記憶部に登録する（ステップＳ８）。
【００４５】
図１０は貼り合わせ構造から新規のデータ構造を生成する処理のフローチャートである。以下に貼り合わせ構造から新規のデータ構造を生成する処理をステップ順に説明する。最初に、空のデータ構造をもつ部品Ａを生成し（ステップＳ１）、最も上位の親を一時記憶部に登録し（ステップＳ２）、一時記憶部は空か否かを判別し、空と判別されたときは終了し、空でないと判別されたときはステップＳ４へ進み（ステップＳ３）、一時記憶部から部品Ｐを一つ選択し（ステップＳ４）、部品Ｐの対応するデータ構造を部品Ａの対応するデータ構造に追加し（ステップＳ５）、部品Ｐを一時記憶部から削除し（ステップＳ６）、部品Ｐは子をもつか否かを判別し、子をもつと判別されたときはステップＳ８へ進み、子をもたないと判別されたときはステップＳ３へ戻り（ステップＳ７）、部品Ｐの子を全て一時記憶部に登録する（ステップＳ８）。
【００４６】
図１１はイベント配送処理のフローチャートである。以下にイベント配送処理をステップ順に説明する。最初に、状態変化は領域内部で発生したか否かを判別し、その判別結果がＹＥＳのときはステップＳ２へ進み、その判別結果がＮＯのときは終了し（ステップＳ１）、領域を共有する相手が有るか否かを判別し、その判別結果がＹＥＳのときはステップＳ３へ進み、その判別結果がＮＯのときは終了し（ステップＳ２）、領域を共有する全ての相手にイベントを配送し（ステップＳ３）、終了する。
【００４７】
図１２は本発明の第一実施例を示す図である。表示手段３０の画面上には、画面上部に、四則演算機能を有する部品３１と入力機能を有する部品３２と帯グラフで出力表示機能を有する部品３３とイメージで出力表示する機能を有する部品３４が表示される。これらの部品は前述のように本システム内に予め記憶した部品であり、画面上にメニューで示され、入力手段であるマウスの操作により画面上に表示できる。画面下部は、四則演算機能部品３１が最初に移動され、その上に入力機能部品３２と出力表示機能部品３３とイメージ出力表示機能部品３４とが移動により四則演算機能部品３１上に貼られた状態を示す。入力機能部品３２の上に書き込む数値データが四則演算機能部品３１に入力され、四則演算機能部品の加算が代表値として選択されていたときは、加算が実行され、加算結果のデータが出力表示機能部品３３とイメージ出力表示機能部品３４に入力され、出力表示機能部品３３の帯の状態が変化し、イメージ出力表示機能部品３４は表示する画像の状態、例えば走っている状態または寝ている状態というように変化する。このように、代表値変更手段によれば一つの部品のもつ複数の値（スロット）の中で最も頻繁に使用される値を代表値（メインスロット）として変更（設定）可能とすることにより、例えば四則演算機能部品の加算、減算、乗算または除算の何れか一つを代表値として選択することにより一つの部品を機能に応じて利用でき、部品の汎用性が高まる。また、同じ機能を持つ部品であっても利用される場面（状況または利用目的）によって最も変更の頻度が高いデータは異なるため、このような値（最も頻繁に使用されるスロット）を代表値変更手段７により代表値（メインスロット）として変更（設定）可能とすることで一つの部品を様々な用途で使用することが可能となる。この代表値が代表値変更手段７により変更（設定）可能となることは、本発明のような復号部品、すなわち親の図形と子の図形との間に包含関係をもたせた図形を扱う場合、それぞれの復号部品を様々な用途で使用可能とし、再利用性を高めるために特に有効である。なお、入力機能部品３２と出力表示機能部品３３は、ＧＵＩ部品であり、ＧＵＩで標準化した図形も部品として活用できる点は注目すべきことである。何故ならば知的資産としてエンドユーザでも複雑なプログラミングを必要とせずに、視覚的に図形を操作するだけで、上述のような例えば演算処理が可能となるからである。また、このように作成された新たな図形を保存して新たな知的資産とすることもできる。
【００４８】
図１３は本発明の第二実施例を示す図であり、（Ａ）はＲＤＢ連携部品を示す図であり、（Ｂ）はグラフ表示部品とテーブル表示部品の貼り合わせを示す図である。本図は、ＲＤＢ（関係データベース）のデータを読み取り、テーブルの行と列にデータを書き込み、グラフを描かせる例を示す。ＲＤＢ連携部品はそのための機能を有する部品であり、ＲＤＢ連携部品の上にグラフ表示部品とテーブル表示部品を貼り合わせると、自動的にＲＤＢからデータが読み取られ、テーブル表示部品上のテーブルの行と列にデータが書き込まれ、グラフ表示部品上にグラフが描かれる。なおＲＤＢ連携部品の上にグラフ表示部品とテーブル表示部品を貼り合わせる時に、ＲＤＢ連携部品の複数のスロット（貼り合わされた部品と結合するポート）の内、各表示部品に対応するスロットを決定する。またＲＤＢ連携部品はＲＤＢからグラフ表示部品とテーブル表示部品に必要なデータを検索するためのスロットでＲＤＢと結合されている。
【００４９】
図１４は本発明の第三実施例を示す図である。本図は計算機Ａ、Ｂ、Ｃ間で協調作業を行うときに各計算機間の協調作業場でイベントが共有される例を示す。各計算機Ａ、Ｂ、Ｃの各表示手段の画面４１、４２、４３上には、イベント共有される部品４４の領域が表示される。各画面４１、４２、４３上においてイベント共有される部品４４が占める領域以外の領域は、各計算機Ａ、Ｂ、Ｃが他の計算機から独立して固有の処理に使用できる。それゆえ、計算機Ａを先生が操作し、計算機Ｂと計算機Ｃをそれぞれ生徒が操作すると仮定すると、生徒がイベント共有される部品４４の領域以外の画面上の領域を使用して先生に知られないで自由に計算機の操作ができる。もちろん、イベント共有される部品４４の領域で生徒がマウスの操作または画面上の図形の変化によるイベントを発生させたときは先生は即座にそのイベントによるイベント共有される部品４４の変化を知ることができる。
【００５０】
図１５は本発明の第四実施例を示す図である。本図中、図形の表示手段５１はその画面に表示される部品、部品の位置と表示形態、および他の部品間との包含関係を管理する。包含関係指示手段５２は表示手段５１の画面上に表示された部品間に包含関係をもたせる手段であり、視覚化部品情報記憶手段５３は表示手段５１の画面上に表示される部品に対応する機能に関する情報を主に記憶する手段である。構造変換手段５４は部品のデータ構造または処理構造を変換して新規な構造を有する部品を作成する手段である。包含関係管理手段５１’は、表示手段５１の画面上に表示される部品間の包含関係（親子関係）を管理する。図示する包含関係管理手段５１’は、表示手段５１の画面上に表示される部品Ａ、Ｂ、Ｃの包含関係は、ＡはＢの親、ＢはＣの親であることを示す。本図の視覚化部品情報記憶手段５３に示す表は部品Ａ、Ｂ、Ｃの関係を示し、部品Ａは入力デバイスからの入力処理に、部品Ｂは入力されたデータを処理しその結果を出力するある種のフィルタ処理に、部品Ｃは出力デバイスへの出力処理に対応づけられていることを示す。構造変換手段５４は部品を含む側（親）を入力とし、部品に含まれる側（子）を出力とするように処理を変換する。また対応づけの処理は、マウスの操作入力を受けた包含関係指示手段５２により、部品Ａの上に部品Ｂを載せ、部品Ｂの上に部品Ｃを載せるよう図形を移動する処理を実行すると共に、実行される。これにより入力デバイスからのデータをフィルタリングし、出力デバイスに出力する一連の処理が定義されたこととなる。
【００５１】
図１６は本発明による図形の操作例を示す図であり、（Ａ）は図形の複写を示す図であり、（Ｂ）は図形の剥離を示す図である。図１６の（Ａ）は、部品Ａ、Ｂ、Ｃを対応する図形Ａ、Ｂ、Ｃで示し、部品Ａ、Ｂ、Ｃからなり、ＡはＢの親、ＢはＣの親である部品６１をマウスで右ボタンクリックし画面上に示されるメニューのＣＯＰＹを左ボタンクリックし、部品６１に表示されるハンドルラバー６０をマウスでポイントしドラッグして移動し、所望の位置で左ボタンクリックすることにより部品６２が複写されることを示す。複写の結果、部品６１と同一部品６２が新たに作成され、以後部品６１と部品６２は独立して使用できる。図示する部品６２は、部品６１の複写直後の部品Ａ、Ｂ、Ｃが独立の処理により部品Ａ’、Ｂ’、Ｃ’に変化した状態を示す。図１６の（Ｂ）の上部は部品Ａと部品Ｂと部品Ｃからなる部品６３から、部品Ｃをクリックしドラッグして移動し所望の位置でドロップすることにより部品Ｃを剥がして移動した状態を示す。部品６３は入力のみ与えて処理のみ行う部品となる。図１６の（Ｂ）の下部は部品Ａ’と部品Ｂ’と部品Ｃ’からなる部品６５から部品Ｂ’をクリックしドラッグして移動し所望の位置でドロップすることにより部品Ｂ’と部品Ｃ’をまとめて剥がして移動した状態を示す。部品６６は処理をして出力のみ行う部品となる。
【００５２】
図１７は本発明による図形の貼り合わせを示す図であり、（Ａ）は貼り合わせる前の図であり、（Ｂ）は貼り合わせた後の図である。図１７の（Ａ）は部品Ｂ’と部品Ｃ’からなる部品６７を部品Ａと部品Ｂからなる部品６８に貼り合わせる前の図であり、図１７の（Ｂ）は部品６７を部品６８に貼り合わせて部品６９を作成した後の図である。部品６９は部品Ａへの入力データが部品Ｂと部品Ｂ’により二度繰り返して同一処理され、部品Ｃ’へ出力する部品となる。
【００５３】
図１８は本発明による分岐処理を実行する図形を作成する例を示す図であり、（Ａ）は作成前の図であり、（Ｂ）は作成後の図である。分岐処理部品７３は入力されたデータを判定し、その判定結果に応じて処理の実行を決定する。入力処理部品７４は入力デバイスからの入力処理を実行し、出力処理部品７５は出力デバイスへの出力処理を実行する。部品７４をクリックしドラッグし部品７３上のＩＦの右側の位置にドロップし、同様に部品７５をクリックしドラッグし部品７３上のＴＨＥＮの右側の位置にドロップして部品７４と部品７５を部品７３上に移動することにより、条件に応じて実行する部品を作成できる。
【００５４】
図１９は本発明によるデータ構造の異なる２つの図形を移動して異なるデータ構造をもつ１つの図形を作成する例を示す図であり、（Ａ）は作成前の図であり、（Ｂ）は作成後の図である。図１９の（Ａ）は数値型データからなる部品７７と文字型データからなる部品７８を移動して空の部品７９に貼り合わせる状態を示す。図１９の（Ｂ）は部品７７と部品７８が部品７９の上に貼り合わされて新たな部品７９が作成された状態を示す。なお部品７９はデータ構造を作成するための部品である。
【００５５】
図２０は異なるデータ構造をもつ１つの図形の複写を示す図である。数値型データからなる部品７７と文字型データからなる部品７８をディクショナリ部品の上に移動して作成した部品７９を複写して同一部品８３を作成した状態を示す。複写後は２つの同一部品７９と部品８３は独立して操作でき、部品８３をなす部品８１と部品８２のデータは部品７９と独立して変化できる。部品７９、８３はＲＤＢのレコードに適用できる。
【００５６】
図２１は異なるデータ構造をもつ２つの同一図形をディクショナリ図形の上に貼り合わせた図形を示す図である。本図は部品７９と部品８３をディクショナリ部品８４上に複写し、数値型データからなる部品７７と文字型データからなる部品７８および数値型データからなる部品８１と文字型データからなる部品８２を含む数値型データと文字型データが混在した部品８４を作成できることを示す。同様に複雑なデータ構造を含む部品が作成されることが判る。なお部品８４はＲＤＢの復表に適用できる。
【００５７】
【発明の効果】
以上説明したように、本発明の図形を用いたプログラミングシステムによれば、プログラマーに限定されていたコンピュータのアプリケーションプログラムの作成または編集がエンドユーザにより容易に実現できる。
【００５８】
本発明による部品を組み合わせて新たに作成した部品を保存して再利用でき、エンドユーザのアプリケーションプログラムに活用できる。かつ作成された部品は視覚的に機能を捕らえることができ機能理解が容易である。特に、代表値変更手段によれば、一つの部品のもつ複数の値（スロット）の中で最も頻繁に使用される値を代表値（メインスロット）として変更（設定）可能とすることにより、一つの部品を機能に応じて利用できるとともにその部品の汎用性を高めることができ、ひいては復号部品、すなわち親の図形と子の図形との間に包含関係をもたせた図形を扱う場合、それぞれの復号部品を様々な用途で使用することができ、復号部品の再利用性を高めることができる。
【００５９】
データ間のリンクがプログラム言語で記述されず、視覚的に図形で捕らえることができ可読性がよい。
データ構造を視覚化により簡単に操作できるようにしたので、複雑なデータ構造でもプログラムミスがなくなり、データ構造の可読性、編集容易性が向上し、利用または再利用ができるようになる。
【００６０】
本発明によれば、図形と処理を対応づけて編集できるので、図形を編集するような操作感覚で容易にプログラミングできる。新たに作成された図形で表現された部品も視覚的にその機能を捕らえることができ、処理内容の可読性がよい。また、処理手順の利用または再利用も容易にできる。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】本発明による視覚化部品情報記憶手段と処理単位記憶手段の詳細説明図である。
【図３】視覚化部品発生手段の処理のフローチャートである。
【図４】データ連携手段の処理の前半フローチャートである。
【図５】データ連携手段の処理の後半フローチャートである。
【図６】データ連携手段における部品更新処理の詳細フローチャートである。
【図７】描画時の図形連動処理のフローチャートである。
【図８】イベント発生時の図形連動処理のフローチャートである。
【図９】貼り合わせ構造から新規の処理構造を生成する処理のフローチャートである。
【図１０】貼り合わせ構造から新規のデータ構造を生成する処理のフローチャートである。
【図１１】イベント配送処理のフローチャートである。
【図１２】本発明の第一実施例を示す図である。
【図１３】本発明の第二実施例を示す図であり、（Ａ）はＲＤＢ連携部品を示す図であり、（Ｂ）はグラフ表示部品とテーブル表示部品の貼り合わせを示す図である。
【図１４】本発明の第三実施例を示す図である。
【図１５】本発明の第四実施例を示す図である。
【図１６】本発明による図形の操作例を示す図であり、（Ａ）は図形の複写を示す図であり、（Ｂ）は図形の剥離を示す図である。
【図１７】本発明による図形の貼り合わせを示す図であり、（Ａ）は貼り合わせる前の図であり、（Ｂ）は貼り合わせた後の図である。
【図１８】本発明による分岐処理を実行する図形を作成する例を示す図であり、（Ａ）は作成前の図であり、（Ｂ）は作成後の図である。
【図１９】本発明によるデータ構造の異なる２つの図形を移動して異なるデータ構造をもつ１つの図形を作成する例を示す図であり、（Ａ）は作成前の図であり、（Ｂ）は作成後の図である。
【図２０】異なるデータ構造をもつ１つの図形の複写を示す図である。
【図２１】異なるデータ構造をもつ２つの同一図形をディクショナリ図形の上に貼り合わせた図形を示す図である。
【符号の説明】
１…処理装置
２…包含関係指示手段
３…視覚化部品情報記憶手段
４ａ…データ構造変換手段
４ｂ…処理構造変換手段
５…処理単位記憶手段
６…視覚化部品発生手段
７…代表値変更手段
８…データ連携手段
９…イベント管理手段
１０…包含関係管理手段
１１…表示装置
１２…入力装置
【図１】
0003660366.tif 000002
【図２】
0003660366.tif 000003
【図３】
0003660366.tif 000004
【図４】
0003660366.tif 000005
【図５】
0003660366.tif 000006
【図６】
0003660366.tif 000007
【図７】
0003660366.tif 000008
【図８】
0003660366.tif 000009
【図９】
0003660366.tif 000010
【図１０】
0003660366.tif 000011
【図１１】
0003660366.tif 000012
【図１２】
0003660366.tif 000013
【図１３】
0003660366.tif 000014
【図１４】
0003660366.tif 000015
【図１５】
0003660366.tif 000016
【図１６】
0003660366.tif 000017
【図１７】
0003660366.tif 000018
【図１８】
0003660366.tif 000019
【図１９】
0003660366.tif 000020
【図２０】
0003660366.tif 000021
【図２１】
0003660366.tif 000022