(57)【要約】【課題】現状で行われている方法は、特定の目的にあった情報処理装置を、全体として一塊の装置として作成する場合が多く、情報処理技術者にとってかなり過酷である。また、システム開発には、多くの「物」を特定する必要があるが、これを、どのようにして解決するかを課題とした。【解決手段】グローバルな数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬおよびこれに相当する文字列データを含む。以下「ＧＣ」という）が有する複数の機能を利用してシステムの開発側（ＶＢＡ側）と利用者側をＧＣで結び付ける方法を考案した。また、多くの「物」を特定する方法については、数値のアロケーションにより解決することとした。つまり、多くの「物」に一意の値を与えることにより、システム開発を容易にし、併せてシステム開発の際の混乱を避けることができる。【選択図】  図１
2019121149.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた情報処理装置であって、コンピュータにインストールされたソフトウェアが有する、サブルーチンを作成することができる機能を利用して作成した複数のサブルーチンと、当該サブルーチンをコールするために、グローバルな数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬ（１０進型）およびこれに相当する文字列データを含む。以下「ＧＣ」という）が有する機能の内、仮数部分に数値を指定できる機能と、数値のアロケーションが可能な機能などを利用して、当該サブルーチン毎に定めるパラメーターの設定等を定義することにより実現できるシステムの構築の方法と、利用者がＧＣを介して情報処理を行うことができる方法に関する事項。
【請求項２】
上記システムにおいて、例えばExcelのセル（これに相当する領域を含む）に設定したＧＣを階層的または非階層的に複数個結合し、新たなＧＣとして一意の値を与え、更にそれらのＧＣを複数個結合したＧＣに一意の値を与えることにより、ＧＣ間に矛盾なく階層を作る方法と、それを分解し実行する方法に関する事項。
【請求項３】
コンピュータを用いた情報処理装置であって、グローバルな数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬ（１０進型））の有する機能の内、膨大な数値領域を扱える機能を利用して、法律関係等多量のデータの整理等に利用することができる方法に関する事項。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理システムの開発と利用方法に関するものである。
【背景技術】
【０００２】
従来、情報処理装置は、ハードウエアーの選択、ソフトウェアの選択、仕様書の作成、概略設計、詳細設計、各種審査、プログラムの開発、実行テストなどを行って、はじめて実用化される。これには、極めて高度な情報処理技術を有する者を充てる必要がある。
【０００３】
また、構築されたシステムは、概ね、一塊のプログラムであり、利用者は、システムが誘導する方法により処理を進めることになるので、柔軟性に欠けるといえる。
最近は、Excel（本発明に関する以下の説明は、ExcelおよびExcelに付属するＶＢＡにより説明する）など、利用者が容易にシステムを構成できるようになっているが、それでもかなりの情報処理技術が要求されるところである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在行なわれている方法の多くは、特定の目的に合った情報処理装置を、全体として一塊の装置として構築する必要があるので、情報処理技術者にとっては、かなり過酷な作業であるといえる。
構築されたシステムは、当初予定された処理内容に制約されるので、とかく柔軟性に欠けることになる。
【０００５】
情報処理技術者が容易に、情報処理装置を構築できるようにするにはどんな方法があるか、 また、利用者が制約された範囲の処理にとどまらず、利用者が柔軟にプログラミング（ここで言うプログラミングとは、ＧＣを組み合わせることにより処理を行うものであって、例えばＶＢＡでサブルーチンを作成する ということではない。）を行う方法はないか。
【０００６】
また、システムの機能を容易に、時間をかけてでもよいから拡張する方法はないか（つまりサブルーチンを必要に応じて容易に追加できるようにする）というのが主な課題である。
【０００７】
また、近年とみに個人情報保護に関する関心が高まっているが、少しでもセキュリティ面を強化する方法はないか。
【０００８】
利用者が情報処理の為にハードウエアーに向きあう時間を可能な限り少なくできないか。このことは、セキュリティ面でも有用であり、利用者の負担も軽減することができると思われる。
などを課題として、その解決を目的とする。
【０００９】
本発明が採用しようとしている方法が、これまで行なわれなかった主な理由として考えられることは、概ね、次のことが考えられる。
上記のように、現在のシステム開発は、原則として、特定の目的に合った情報処理装置を、全体として一塊の装置として扱っており、利用者は、当該システムの誘導に従って処理を進めることが殆どである。
また、サブルーチンを細分化し、当該サブルーチンを外部から、自由に指定することができるようにするという発想が少なかったこと。（既存のシステムの一部を流用しようという発想はあったが）
一方、倍精度浮動小数点数やＤＥＣＩＭＡＬには、概ね４つの機能があるが、その内、数値を表現するものとして使用していたが、サブルーチン番号の指定を含むパラメーターの指定や、それらを意味のある一意の値で扱うことの効果などに注目していな かったのではないか、などが挙げられる。
【課題を解決するための手段】
【００１０】
本システムは、ＧＣ（ＧＣとは、狭義には、グローバルな、数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬおよびこれに相当する文字列データを含む。）により、一意に定義された数値データのことであるが、広義には、アロケーションの対象となる数値データ全体を指すもので、狭義の場合は、広義の対象数値のほんの一部を利用しているということである）を利用してサブルーチンをコールすることができるシステム構築と利用者が行うＧＣを組み合わせて行うプログラミングを可能とするシステムの構築方法および利用方法を考察したシステムである。 (以下「ＧＣシステム」または「本システム」という）。
【００１１】
サブルーチンの作成は、ある程度まとまった目的を単位に作成する。例えば、入力ルーチン、文字列をＧＣ化するルーチン、ＧＣを文字列化するルーチン、ＧＣを連結するルーチン、メッセージを表示するルーチンなどである。
【００１２】
ＧＣシステムでは、例えば、Excelに付属するＶＢＡが扱える倍精度浮動小数点数およびＤＥＣＩＭＡＬ（以下「倍精度データ等」という場合もある)が有する４つの機能の内、あまり気づかれていない、次に述べる3つの機能を利用する。
【００１３】
倍精度データやＤＥＣＩＭＡＬの仮数部の利用である。倍精度データはその有効桁数が１５桁と大きく、また、ＤＥＣＩＭＡＬは、２８桁と大きいことからこれにパラメーター（サブルーチン番号を含む)を容易に指定することが可能である。
【００１４】
次は、指数部の活用である。倍精度データおよびＤＥＣＩＭＡＬには、指数部があり、この指数の指定により、仮数部での値が同じでもほかの内容として扱うことが可能であることから数値のアロケーションが可能であり、その機能を利用することにより、システム開発の際の多様性、融通性などが確保されることは、大きな利点である。
【００１５】
次も、指数部と関係する機能の活用である。先に述べたように、同じように見える数値でも指数が異なると、まったく別の数値である。1つの指数に含まれる数値が表現できる値の範囲も膨大であるが、その指数は最大３０８であると言われている。
さらに、ＤＥＣＩＭＡＬは、はるかに膨大である。仮数部が２８桁である。これは倍精度浮動小数点数の1つの指数分の１０の１３乗倍であることを意味している。全くもって途方もない数値の世界である。
ＧＣシステムでは、この膨大な世界を、数値のアロケーションという方法により活用を始めている。
【００１６】
その１つが通常考えられる範囲の全ての「物」に一意な値を与えることである。例えば、サブルーチン番号を含むパラメーターの指定用の領域として１E+17から９E+17未満がアロケーションされている。また、文字列作成専用の領域として１E+20から１E+２１未満がアロケーションされている。このようにして、意味のある数値にすることによりＧＣは一意の値を持つこととなり、システムが扱う数値の混乱を避けることが可能となる。
【００１７】
ＧＣに一意な値を与えるためには、予めＧＣに使用する倍精度データおよびＤＥＣＩＭＡＬをどの目的にどの倍精度データまたはＤＥＣＩＭＡＬの領域を使用するかを割り当てておく必要がある。これが、「ＧＣのアロケ」または、「ＧＣのアロケーション」である。
（注）詳細は、段落番号００３２から００３６参照
【００１８】
ＧＣシステムでは、Excelの画面上に、マウスなどにより指定できるセルにＧＣを設定できる機能およびセルに設定できる関数や演算機能なども利用する。これらの機能およびＧＣそのものが単なる数値であるので、利用者は、ＶＢＡに触れることなくＧＣシステムを利用することができる。
【００１９】
課題の解決には、上記の各種の機能を利用することを前提に、概要次のようにイメージする。
一定の制約を条件として、ＧＣシステムを開発、提供する者（以下「ＧＣシステム開発者」という）と、利用者は提供されたＧＣシステムを専ら利用するとともに、提供された機能を利用できるＧＣを、自由に組み合わせてプログラムを作成処理することができるように工夫して、両者を分離できるようにする。
【００２０】
ＧＣシステムの内、サブルーチンに関する部分及びサブルーチンを実行するために必要な仕組みをＧＣシステム開発者が作成し、さらにＧＣシステム開発者は、パラメーターの設定などその利用方法について定義し、
【００２１】
利用者が作成したＧＣを設定できるセルの範囲を予め指定し（必須ではない）
それらの内容をＧＣシステムの利用者に提供する。
【００２２】
利用者は、指定された定義方法でＧＣを作成し、紙面に書き留めるなりセル（ウラのセル。段落番号００５３参照）に設定するなどしたうえ、ＧＣシステムを起動し、紙面に書き留めた場合は、メニューからＧＣを入力して実行し、セルに格納した場合は、メニューから「セルを指定」を選択したうえ、オモテのセルを指定して実行する。
【発明の効果】
【００２３】
ＧＣシステムの利用者は、指定された方法で、ＧＣを設定し、当該ＧＣをセル上に設定するなりメニューで選択するなりして、実行すればよいので、殆どＶＢＡの知識を持たない場合でも、より容易に情報処理を行うことができる。また、ＧＣを組み合わせたプログラミングを行うことができる。
【００２４】
ＧＣ システムには、複数のＧＣを連結する機能があるが、ＧＣには、一意な値が与えられており、ＧＣの連結機能を利用する場合にも混乱を避けることができる。利用者は、ＧＣの指定を複数個指定することなどにより、より複雑な目的のプログラムを、ＶＢＡに触れることなく作成することが可能である。
【００２５】
当該、連結の為に作成されたＧＣには、新たな一意な値が与えられているので、当該ＧＣを指定することにより同一の処理を繰り返し行うことができる。（作業の省力化）
【００２６】
ＧＣの作成は、ＶＢＡなどに触れる必要がないので、机上でも行うことができる（紙面に書き留めておき、実行する際に直接入力するなり、セル上に設定するなりすればよい）。（一部脱ハードウエアー化）。このことは、ハードウエアーに向きあう時間を少なくすることが可能であって、セキュリティ面でも、利用者の負担の面でも大いに役立つ。
【００２７】
ＧＣは、膨大な範囲の値を整理し意味のある値として扱えるので、多量のデータを扱う「物」 の分類・整理を混乱なく容易に行うことができる。このことはＧＣシステムの今後の展望として大きな特徴となりうる面である。
【００２８】
ＧＣは、数値データであるので、セル上に表示される内容は、数値の羅列であり、具体的な内容を読み取ることは出来ない。このことは、簡易なセキュリティ対策にも有用である。オモテのセルには、文字などのより具体的な表示方法を採用することで内容を把握しやすくする工夫は必要である。
【００２９】
また、ＧＣにバイアスを与えることにより、簡易なセキュリティ 対策も可能である。 
このための数値データエリアとして
９E＋１７から９E＋１８未満（ルーチン番号を含むＧＣに加えるバイアス用）
が充てられている。
サブルーチン番号を含むＧＣ用に１E+17から９E+１７未満とされているのは、ＧＣにバイアス（仮数部で１００００００００００００００（１５桁）以内の値に相当する値を与える）をかけた場合に,オーバーフローを起こさないようにするために最大９E+17未満にしているものである。
【図面の簡単な説明】
【００３０】
【図１】ＧＣを介して行う、サブルーチンをコールする方法の概要を示す図である。
【発明を実施するための形態】
【００３１】
ＧＣシステムでは、ＧＣシステムのＶＢＡと利用者を仲介するのは、ＧＣである。従って、ＧＣの作成方法の定義および利用方法についての理解は重要である。
ＧＣシステムでは、ＧＣの作成に混乱を生じないように全てに一意の値を与えることにしている。
ただし、ＧＣに一意の値を与える目的はこれだけではない。一般に考えられる「物」に対して一意の値を与えることにより、ＧＣは容易にそのポイントを指定することが可能となるなどＧＣで処理できる範囲が格段と増加する。
【００３２】
ＧＣに一意の値を与える方法は、例えば、倍精度浮動小数点数およびＤＥＣＩＭＡＬが表現できる膨大な値の領域をどの目的にどの部分を使用するかを予めアロケーションしておくことにより実現する。
【００３３】
ＧＣシステムにおける数値の領域のアロケーションの概要は、次のとおりである。
【００３４】
ＧＣに使用する倍精度浮動小数点数が表現できる領域の各ＧＣヘのアロケーション（概要）
０から１Ｅ＋１５未満（本来の倍精度浮動小数点数の値として扱うＧＣ用）
１Ｅ＋１５から１Ｅ＋１６未満（本来の倍精度浮動小数点数の値として扱うＧＣ用）
１Ｅ＋１６から１Ｅ＋１７未満（本来の倍精度浮動小数点数の値として扱うＧＣ用）
１Ｅ＋１７から９Ｅ＋１７未満（ルーチン番号を含むＧＣ用）
９Ｅ＋１７から９Ｅ＋１８未満（ルーチン番号を含むＧＣに加えるバイアス用）
１Ｅ＋１８から１Ｅ＋１９未満（未定義）
１Ｅ＋１９から１Ｅ＋２０未満（未定義)
１Ｅ＋２０から１Ｅ＋２１未満（文字列作成専用ＧＣ用）
１Ｅ＋２１から１Ｅ＋２２未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
１Ｅ＋２２から１Ｅ＋２３未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
１Ｅ＋２３から１Ｅ＋２４未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
１Ｅ＋２４から３Ｅ＋２５未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
２Ｅ＋２５から２Ｅ＋２６未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
３Ｅ＋２６から１Ｅ＋２７未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
１Ｅ＋２７から１Ｅ＋２８未満(ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
１Ｅ＋２８から１Ｅ＋２９未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
１Ｅ＋２９から７．９Ｅ＋２９未満（ＤＥＣＩＭＡＬＥ対応のために使用しないこととする)
８Ｅ＋２９から１Ｅ＋３０未満（倍精度浮動小数点数。未定義）
１Ｅ＋３０から１Ｅ＋３１未満（倍精度浮動小数点数。セルのアロケーション用）
１Ｅ＋３１から１Ｅ＋３２未満（個人番号用。未定義）
１Ｅ＋３２から１Ｅ＋３３未満（法令関係用。未定義）
１Ｅ＋３３から１Ｅ＋３０８未満（未定義）
倍精度浮動小数点数の内、負の値を示す範囲のもの（未定義）
【００３５】
ＧＣに使用する１０進型(ＤＥＣＩＭＡＬＥ）が表現できる領域の各ＧＣヘのアロケーション（概要）
１Ｅ＋２１から１Ｅ＋２２未満（未定義)
１Ｅ＋２２から１Ｅ＋２３未満（未定義)
１Ｅ＋２３から１Ｅ＋２４未満（未定義)
１Ｅ＋２４から３Ｅ＋２５未満（未定義)
２Ｅ＋２５から２Ｅ＋２６未満（未定義)
３Ｅ＋２６から１Ｅ＋２７未満（未定義)
１Ｅ＋２７から１Ｅ＋２８未満(未定義)
１Ｅ＋２８から９Ｅ＋２８未満（サブルーチン番号を含むＧＣ用)
９Ｅ＋２８から１Ｅ＋２９未満（サブルーチン番号を含むＧＣに加えるバイアス用）
１Ｅ＋２９から７．９Ｅ＋２９未満（未定義)
【００３６】
このようにアロケーションされたなかで、
１Ｅ＋１７から９Ｅ＋１７未満（ルーチン番号を含むＧＣ用）
は、分かりやすくすると
１.００００００００００００００Ｅ＋（１５桁）
から８.９９９９９９９９９９９９９Ｅ＋１７（１５桁）
の、ようになり、この領域はルーチン番号を含むＧＣ用に使用される。先頭２桁でサブルーチン番号を指定する。例えば、サブルーチン番号２４(ＧＣ(文字列からユニコードに変換した数値を持つＧＣ)から文字列に変換するサブルーチン）を指定したとすると
２.４０００００００００００００Ｅ＋１７(１５桁)から２.４９９９９９９９９９９９９９Ｅ＋１７（１５桁）
が、このルーチンをコールする際に使用できる値の範囲である。
パラメーターの設定は、全て異なるので、全体としてこのＧＣには一意の値が与えられることになる。
【００３７】
ＧＣシステム開発者が行うＧＣの定義方法は、概ね次のように行う。
（注）ここで示す表現は、一つの方法の例である。（a.b………………oＥ＋１７は、桁番号に対応して表現したものである）
（１）    ａ.  ｂ  ｃ  ｄ  ｅ  ｆ  ｇ  ｈ  ｉ  ｊ  ｋ  ｌ  ｍ  ｎ  ｏ  Ｅ＋１７   (倍精度浮動小数点数)
先頭２桁の  a.ｂ  でルーチン番号を指定する。
先頭３桁目から１５桁にパラメーターの指定方法を定義する。
（２）   a.bcdefghijklmnopqrstuvwxyzabＥ＋２８  (ＤＥＣＩＭＡＬ（１０進型))
先頭２桁の  a.ｂ  でルーチン番号を指定する。
先頭３桁目から２８桁にパラメーターの指定方法を定義する。
(注) 末尾のa , b はaa,  abを略したもの
（３）  ａ.  ｂ  ｃ  ｄ  ｅ  ｆ  ｇ  ｈ  ｉ  ｊ  ｋ  ｌ  ｍ  ｎ  ｏ  Ｅ＋２０  (倍精度浮動小数点数) (文字列作成専用)
１桁から１５桁の全てにパラメーターの指定方法を定義する。
【００３８】
利用者がＧＣを利用して作成するプログラムの組み立てには、概略２通りの方法があるが、その内訳を展開するためのエリアとしてＧＣネストレベル対応情報設定領域（以下「GCNLI」）を用意している。GCNLIは、配列変数Ｗ（２０００から４９９９)の領域が充てられ、１レベルあたり１００要素が使用される。
【００３９】
利用者がＧＣを利用して作成するプログラムの組み立ての方法の一つは、先頭のＧＣに“ ,  “(カンマ)  で繋げる方法で、非階層的に扱われる。つまり、その全てのＧＣは同じレベルのGCNLIに展開されて、処理が行われる。文字列作成用ＧＣの連結などに多用されている。(１つのセルに格納される)
【００４０】
他の一つは、主としてＧＣ連結用ＧＣ（サブルーチン番号１１）を利用して行うもので階層的に扱われる。階層的に扱うとは、複数個のＧＣを内訳とし、纏めたＧＣを見出しとして、更に複数の見出しのＧＣを纏めたものを新たな見出しのＧＣとするなどして連結したものを、初期のＧＣを頂点として、見出しのＧＣ単位に、順に１つ下位のGCNLIに展開することである。
ＧＣシステムにおいて、ＧＣはその多くが複数のＧＣをまとめて１つの見出しのＧＣとされたものである。つまり、複数の内訳を持ったＧＣが階層状の構造をしている。階層化されたＧＣは、このGCNLIに階層ごとに展開され、実行される。
【００４１】
このようにして纏めたものを、更に同様に纏めることにより、例えば、いくらでも長い文をたった１つのＧＣで指定することができるようになる。（資源が足りる範囲ではあるが）
本システムでは、現在このネストレベルを３０までサポートしている。
【００４２】
次に示すＧＣは、利用者がＧＣのパラメーターで指定したＧＣの所在地からＧＣを抽出し、実行するＧＣであるが、ここではその作成方法について説明する。
ＧＣは、次のような定義方法により作成する。
（a.b………………oE+17は、桁番号に対応して表現したものである）
(１）  ａ.  ｂ  ｃ  ｄ  ｅ  ｆ  ｇ  ｈ  ｉ  ｊ  ｋ  ｌ  ｍ  ｎ  ｏ  Ｅ＋１７  (倍精度浮動小数点数) 
Ａ2＝１１; このルーチンのルーチン番号１１であることを表す。（Ａ2は、先頭のaから２桁の値の意味） （以下同様）（ＧＣに設定する場合は1．１とする）
Ｃ１＝ １：  未定義
２： ＧＣ格納群内の相対参照で指定する。
Ｄ３＝１つ目のＧＣが格納されているセルの行番号(相対参照値）
Ｇ３＝同上の列番号
J３＝２つ目のＧＣが格納されているセルの行番号(相対参照値）
Ｍ３＝同上の列番号
(２）１．1cdefghijklmnopqrstuvwxyzabＥ＋２８の場合
Ａ２＝１１; このルーチンのルーチン番号１１であることを表す。（Ａ２は、先頭のaから２桁の値の意味） （以下同様）（ＧＣに設定する場合は1．１とする）
(注)末尾のa、bはaa、abとするところを省略したものである。
Ｃ１＝ １：  ほぼ全てのセルを絶対参照で指定
２： ＧＣ格納群内の相対参照で指定する。
（Ａ）Ｃ１＝１の場合
Ｅ５＝１つ目のＧＣが格納されているセルの行番号
J３＝同上の列番号
Ｍ５＝２つ目のＧＣが格納されているセルの行番号
Ｒ３＝同上の列番号
U５＝3つ目のＧＣが格納されているセルの行番号
Ｚ３＝同上の列番号
（Ｂ） Ｃ１＝２ の場合
Ｅ３＝１つ目のＧＣが格納されているセルの行番号(相対参照）
Ｈ３＝同上の列番号
Ｋ３＝２つ目のＧＣが格納されているセルの行番号(相対参照値）
Ｎ３＝同上の列番号
Ｑ３＝３つ目のＧＣが格納されているセルの行番号(相対参照値）
Ｔ３＝同上の列番号
Ｗ３＝４つ目のＧＣが格納されているセルの行番号(相対参照値）
Ｚ３＝同上の列番号
【００４３】
ＧＣの連結の作業は、既に設定されている内容を承知したうえで連結する必要があるなど、かなり慎重に行う必要があるので、その殆どが机上の作業となると思われるが、一方慣れると意外と楽しい面もあり、ハードウエアを使用しなくても済むことなどのメリットもあるので、功罪両面があるといえる。
【００４４】
しかしながら、ＧＣを連結する機能は、本システムの主要な機能であり、この機能を使いこなすことにより、利用者が希望する情報処理のためのプログラムを効率よく作成できることになる。
【００４５】
利用者がＧＣを組み合わせて作成したプログラムの変更は、ＧＣの組み合わせを変更することにより容易に行うことができる。
【００４６】
ＧＣシステムでは、ＧＣを実行するため、「ＧＣドライバー」を用意している。ＧＣドライバーは、ＧＣで指定されたサブルーチンをコールするなどの処理を行う。
【００４７】
ＧＣの実行（利用者側）
利用者は、ＧＣシステムを、セル上に置かれた「起動」コマンドボタンをクリックすることによりＧＣシステムを起動し利用する。
ＧＣシステムをスタートさせるとメニューが表示される。
このメニューから処理内容を選択し、指定したうえＧＣを入力するなり、セルを指定するなどすると、ＶＢＡ側が実行した後、共通変数や予め指定されている領域にその結果が返される。表示を指定しているときは表示が行なわれる。
【００４８】
ＧＣの実行（ＶＢＡ側）
ＶＢＡは、利用者からＧＣを受け取るとシステムドライバーは、ルーチン番号とルーチンの対応テーブルから対応するルーチンを選択し、コールする。
サブルーチンによる処理が終了すれば、その結果を予め決められた共通変数や領域に設定して利用者側に返すことになる。
表示が指定されているときは、表示を行う。
【００４９】
ＧＣシステムの開発の現状と目標とする形態
ＧＣシステムの開発は、現在、ほんの入り口にすぎないが、システム開発者が行うべき処理と利用者が行うべき処理とをほぼ完全に分離できたことにより、次のことを目標にしている。
社内で使用する場合は、システム開発者が、細切れながらも当該社内で必要とする内容の多くをカバーすると思われる範囲のサブルーチンを作成し、更に、ＧＣの組み合わせによるプログラムを作成し、これも含めて利用者に提供することとすれば、社内に、ＧＣで作成された共通なプログラムを提供できる。
【００５０】
ＧＣシステムの本格的なシステムの提供の際の姿は、最低、一般的に必要なサブルーチンと、それらを利用するためのＧＣをセットにして提供することを目標にしている。利用者に提供した後に、システム開発者がＧＣを追加した場合は、利用者がＧＣを設定するセルのエリアと開発者や他の利用者が作成したＧＣによるプログラムとを別のエリアに設定するように決められている場合は、混乱がないので、開発者などが作成したＧＣのデータを一括して利用者に提供することができることから、容易にシステムの向上を図れるほか、セキュリティ面でも有用である。
【００５１】
ＧＣの追加の情報は、利用者側から収集することもできるので、システム開発者は、当該情報を集約した上、同様の処理を行うことができる。これにより、社内でＧＣシステムの共有と向上を図ることができる。
ＧＣシステムは、このように、それほどＶＢＡ追加などを行わなくても、ボチボチと向上できることを特徴とする。
【００５２】
ここでは、セルのアロケーションと「○○群」および「○○群対応」の設定について述べる。本システムでは、最近特にその範囲が広がったセルの扱いを容易にするため、セルのアロケーションを行なっている。セルの場合は、倍精度浮動小数点数の場合のように、概ね、指数単位に行うなどといった方法が難しいので、セルの使用目的別に設定したセルの範囲単位に「群」番号を与え、群番号単位に必要なパラメーターを設定するようにしている。
これらの 「群」（「対応」を含む）の全体をまとめた 表をＧＰＴ（「群番号対応パラメーターテーブル」という）ということとする。
【００５３】
つまり、ＧＰＴは、セルのアロケーションを行なっているもので、ＧＣのアロケーションとともに、処理を進めるうえで、重要な役割を担っている。
「○○群対応」は、「○○群」に付属する形で、主としてＧＣを格納する目的で使用される。このような場合、「○○群」には、ＧＣの内容を表す文字列などを格納する。原則として、セルの指定は「「○○群」内のセル（このような「○○群」内のセルを「オモテのセル」または「オモテ」ということとする）で指定し、実際には「○○群対応」内の対応するセル（各群内のオフセット値が同じセル）を対象にして処理が行われる（このような「○○群対応」内のセルを「ウラのセル」または「ウラ」ということにする）。
【００５４】
セルのアロケーション用に使用されるＧＣには、指数3０の倍精度浮動小数点数が使用される。
【００５５】
コンピュータの「時代」は、「変換」(あるいは、「置き換え」）の歴史である。
１ビットから対応して、現在は、小さな子供達でも動かすことができるコンピュータに変貌している。これまでは、主として分かりやすい「言葉」に変換する時代であったが、言葉は、必ずしも正確ではない。
ＧＣシステムでは、数値を非常に重視している。数値で全てのものを指定することができれば、容易に、プログラミングが可能だからである。
また、数値で指定するにしても、より効率的に指定できる方法を検討し、それをシステムに反映させることができることは、ＧＣシステムの大きな特徴である。
例えば、同じセルを指定するにしても、絶対参照で指定する場合と、相対参照で指定する場合とでは、個人差もあるが、どちらがよいかという選択をする必要が生ずるかもしれないが、この問題に対応するにしても、ＧＣの場合は、パラメータの設定方法を複数個用意しておく（絶対参照で指定する場合と、相対参照で指定する場合の２つのＧＣを用意するなど）ことで対応できるので、極めて容易に対応できることになる。このように、ものの処理を、数値で指定する場合は、多くの指定方法を容易に作り出すことができるが、これがＧＣの特徴であり、目標とするところである。
【実施例１】
【００５６】
次の例は、「本日は、晴天なり。」と「只今、マイクの試験中」の２つの文字列を連結する処理の実施例である。
「本日は、晴天なり。」の文字列は、行番号９０１０、列番号７０にある。
「只今、マイクの試験中」の文字列は、行番号９０１５、列番号６９にある。
ものとする。
まず、システムを起動し、メニューで「セルを指定」、「文字列のＧＣ化」を選択し、指示に従って行番号９０１０、列番号７０のセルをクリックして「本日は、晴天なり。」の文字列をＧＣ化すると、そのＧＣは文字列が格納されているセルのウラのセルに格納される。「只今、マイクの試験中」の文字列についても、同様にしてＧＣ化する。
この２つの文字列を連結するＧＣは、次のように作成する。
ａ.  ｂ  ｃ  ｄ  ｅ  ｆ  ｇ  ｈ  ｉ  ｊ  ｋ  ｌ  ｍ  ｎ  ｏ  Ｅ＋１７   
１． １  ２  ０  １  ０  ０  ７  ０  ０  １  ５  ０   ６ ９  Ｅ＋１７
（a.b………………oE+17は、桁番号に対応して表現したものである）
Ａ２＝１１; ＧＣを連結する処理を行うルーチンのルーチン番号１１である。
（Ａ２は、先頭のaから２桁の値の意味） （以下同様）（ＧＣに設定する場合は1．１とする）
Ｃ１＝２：ＧＣ格納群の相対参照で指定していることを示すフラグ
Ｄ３＝０１０：一つ目のＧＣが格納されているセルの行番号９０１０の相対参照
Ｇ３＝０７０：同上のセルの列番号の相対参照
Ｊ３＝０１５：二つ目のＧＣが格納されているセルの行番号９０１５の相対参照
Ｍ３＝０６９：同上のセルの列番号の相対参照
このＧＣを空いているセルのウラのセルに格納し、オモテのセルには、適宜その内容が分かる文字列、例えば「本日は・・只今マイクの」などを格納する。このようにしてセルに格納した場合は、メニューで「セルを指定」、「ＧＣの実行」を選択し、システムの誘導に従って格納したセルのオモテのセルを指定すると、ウラに格納した連結用のＧＣが実行され、連結された文字列のデータが、変数W(42)に格納されて返される。この場合は、「本日は、晴天なり。只今、マイクの試験中」の文字列が返される。
このＧＣをメニューの「ＧＣの入力」、「ＧＣの実行」を選択した場合は、表示される入力ボックスに入力し、「ＯＫ」ボタンをクリックすることにより実行され、連結された文字列のデータが、変数W(42)に格納されて返される。
【実施例２】
【００５７】
Ｕｎｉｃｏｄｅで「土屋」の文字列を作成するためのＧＣは,次のように作成し、セルに格納した場合は、メニューから「セルを指定」、「ＧＣの実行」を指定して実行する。
桁番→   １    ２    ３  4  ５    ６から10            1１から１５
内容→ ルーチン番号    ヨビ    「土」のＵｎｉｃｏｄｅ   「屋」のＵｎｉｃｏｄｅ 
ＧＣ→    ２.４      ０ ０ ０     ２２３０３           ２３６２７   Ｅ＋１７
ＧＣの全体→    ２.４０００２２３０３２３６２７Ｅ＋１７
（注）本システムにおいては、実務上は文字列をＧＣに変換する処理は、自動的に行っているので、このような処理の必要は生じない。具体的には、「ＧＣ格納群」の「オモテのセル」に「土屋」の文字列を入力し、メニューで「セルの指定」、「文字列のＧＣ化」を選択して実行すれば、文字列が格納されているセルの「ウラのセル」に、文字列のＧＣが格納される。
【実施例３】
【００５８】
次に示すのは、ＧＣに使用する１０進型(ＤＥＣＩＭＡＬＥ）が表現できる領域の各ＧＣヘのアロケーションの一部分である。
１Ｅ＋２７から１Ｅ＋２８未満(未定義)
１Ｅ＋２８から９Ｅ＋２８未満（サブルーチン番号を含むＧＣ用)
９Ｅ＋２８から１Ｅ＋２９未満（サブルーチン番号を含むＧＣに加えるバイアス用）
１Ｅ＋２９から７．９Ｅ＋２９未満（未定義)
負の値（未定義）
【産業上の利用可能性】
【００５９】
膨大な資料を整理する産業に、役立つと思われる。
例えば、法律に関係する文書は膨大なものであるが、これに、数値のアロケーションの方法を採用して分類すれば、混乱なく整理できるはずである。
また、出版の業界においても、図書館などの膨大な図書を扱う世界においても、同様にして整理することが可能である。
【００６０】
ＧＣシステムは、プログラミングの一手法である。このような方法があることを情報処理技術者の研修に関する産業（独学を含む）に活用すれば、プログラミングに対する意識も変わるかもしれない。
また、特にあまり気にかけられなかった数値の世界の理解を促すことができるかもしれない。何しろ数値は膨大な世界を、きわめて安価に利用できる特徴を持っている。
【００６１】
最近は、機械的な処理をソフトウェアが行うことができるようになっているが、（例えば、ＰＣ の電源をソフトウェアで行うことができる、照明をリモコンでコントロールできるなどがそれである。）そのような技術がＥｘｃｅｌのようなソフトウェアにも 搭載されるようになれば、身の回りの各種電気製品のコントロール用に容易に活用できるかもしれない。
【符号の説明】
【００６２】
１  ＧＣとは、狭義には、グローバルな、数値データ（例えば、倍精度浮動小数点数。ＤＥＣＩＭＡＬおよびこれに相当する文字列データを含む。）により、一意に定義された数値データのことであるが、広義には、アロケーションの対象となる数値データ全体を指すもので、狭義の場合は、広義の対象数値のほんの一部を利用しているにすぎないということである。
２  本発明のシステムでは、原則として、全てのＧＣやＧＣが直接コールするサブルーチンには、一意の値が与えられる。
【図１】
2019121149.tif 000003
【手続補正書】
【提出日】平成30年9月1日(2018.9.1)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本システムは、ＧＣ（ＧＣとは、狭義には、数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬおよびこれに相当する文字列データを含む。）により、一意に定義された数値データのことであるが、広義には、アロケーションの対象となる数値データ全体を指すもので、狭義の場合は、広義の対象数値のほんの一部を利用しているということである）を利用してサブルーチンをコールすることができるシステム構築と利用者が行うＧＣを組み合わせて行うプログラミングを可能とするシステムの構築方法および利用方法を考察したシステムである。 (以下「ＧＣシステム」または「本システム」という）。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
１  ＧＣとは、狭義には、数値データ（例えば、倍精度浮動小数点数。ＤＥＣＩＭＡＬおよびこれに相当する文字列データを含む。）により、一意に定義された数値データのことであるが、広義には、アロケーションの対象となる数値データ全体を指すもので、狭義の場合は、広義の対象数値のほんの一部を利用しているにすぎないということである。
２  本発明のシステムでは、原則として、全てのＧＣやＧＣが直接コールするサブルーチンには、一意の値が与えられる。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータにインストールされたソフトウエアが有する、サブルーチンを作成することができる機能を利用して作成した複数のサブルーチンと、
当該サブルーチンをコールするために、
数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬ（１０進型）およびこれに相当する文字列データを含む。以下「ＧＣ」という）が有する機能の内、
仮数部分に数値を指定できる機能と、
数値の使用目的別のアロケーションが可能な機能と、
当該アロケーションされた数値を対象にして、サブルーチン毎に定めるサブルーチン番号及びパラメーターの設定を定義することができる機能と、
を利用して、更に、
上記の設定方法により作成したＧＣを、セルに格納（複数の時はカンマで繋いで単一のセルに格納することもできる）する機能と、
セルに格納したＧＣを、入力装置を利用して、ＶＢＡ内にＧＣを取得する機能と、
ＶＢＡ内のシステムドライバーが、当該取得したＧＣが指定しているサブルーチン番号を用いて、サブルーチンの対応テーブルから対応するサブルーチンを選択実行する機能と、
当該ＧＣを実行した結果を表示するための表示装置の機能と、
当該ＧＣを実行した結果を格納するための記憶装置の機能と、
を利用して構築されたコンピュータを用いた情報処理装置を、ＧＣで操作できることを特徴とするシステム。
【請求項２】
請求項１に記載のシステムにおいて、
Excelのセルに設定したＧＣを、階層的または非階層的に複数個結合する機能と、
当該結合されたＧＣに、新たなＧＣとして一意の値を与えることができる機能と、
更にそれらのＧＣを複数個結合したＧＣに一意の値を与えることができる機能と、
結合されたＧＣをセルに格納する機能と、
当該格納されたＧＣを、入力装置を利用してＶＢＡ内にＧＣを取得する機能と、
当該取得したＧＣを実行するために、記憶装置に格納する機能と、
当該記憶装置に格納されたＧＣを、指定された方法で取得する機能と、
当該ＧＣを実行する機能と、
当該ＧＣを実行した結果を表示するための表示装置の機能と、
当該ＧＣを実行した結果を格納するための記憶装置の機能と、
を利用して構築されたコンピュータを用いた情報処理装置で、ＧＣを階層的または非階層的に結合することにより、複数のＧＣを１つのＧＣで指定することを可能とすることを特徴とするシステム。
【請求項３】
数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬ（１０進型）およびこれに相当する文字列データを含む。以下「ＧＣ」という）の有する機能の内、
膨大な数値領域を扱える機能と
数値の使用目的別のアロケーションが可能な機能と、
アロケーションされた数値を使用して、当該アロケーションされた数値の範囲内で、指定しようとするすべての「物」に、それぞれ１つのＧＣを与えることができる機能と、
当該ＧＣに対して、サブルーチン番号及びパラメーターを指定できる機能と、
を利用し、更に、
当該ＧＣをコンピュータを用いて実行することができる機能と、
処理した結果を表示するための表示装置の機能と、
処理した結果を格納するための記憶装置の機能と、
を利用して構築された情報処理システムで、
多量のデータ（例えば法律関係）の分類・整理に利用することができることを特徴とするシステム。
【手続補正書】
【提出日】平成30年11月20日(2018.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータにインストールされたソフトウエアが有する、サブルーチンを作成することができる機能を利用して作成した複数のサブルーチンと、
当該サブルーチンをコールするために、
数値データ（例えば、倍精度浮動小数点数、ＤＥＣＩＭＡＬ（１０進型）およびこれに相当する文字列データを含む。以下「ＧＣ」という）が有する機能の内、
仮数部分に数値を指定できる機能と、
数値の使用目的別のアロケーションが可能な機能と、
当該アロケーションされた数値を対象にして、サブルーチン毎に定めるサブルーチン番号及びパラメータの設定を定義することができる機能と、
を利用して、更に、
上記の設定方法により作成したＧＣを、セルに格納（複数の時はカンマで繋いで単一のセルに格納することもできる）する機能と、
セルに格納したＧＣを、入力装置を利用して、ＶＢＡ内にＧＣを取得する機能と、
ＶＢＡ内のシステムドライバーが、当該取得したＧＣが指定しているサブルーチン番号を用いて、サブルーチンの対応テーブルから対応するサブルーチンを選択実行する機能と、
当該ＧＣを実行した結果を表示するための表示装置の機能と、
当該ＧＣを実行した結果を格納するための記憶装置の機能と、
を利用して構築されたコンピュータを用いた情報処理装置を、ＧＣで操作できることを特徴とするシステム。
【請求項２】
請求項１に記載のシステムにおいて、
Excelのセルに設定したＧＣを、階層的または非階層的に複数個結合する機能と、
当該結合されたＧＣに、新たなＧＣとして一意の値を与えることができる機能と、
更にそれらのＧＣを複数個結合したＧＣに一意の値を与えることができる機能と
結合されたＧＣをセルに格納する機能と、
当該格納されたＧＣを、入力装置を利用してＶＢＡ内にＧＣを取得する機能と、
当該取得したＧＣを実行するために、記憶装置に格納する機能と、
当該記憶装置に格納されたＧＣを、指定された方法で取得する機能と、
当該ＧＣを実行する機能と、
当該ＧＣを実行した結果を表示するための表示装置の機能と、
当該ＧＣを実行した結果を格納するための記憶装置の機能と、
を利用して構築されたコンピュータを用いた情報処理装置で、ＧＣを階層的または非階層的に結合することにより、複数のＧＣを１つのＧＣで指定することを可能とすることを特徴とするシステム。