■シナリオ関数講義ノート(出典:根来文生博士)

第6章 同期アルゴリズムはプログラム問題を解法

 

(シナリオ関数に侵入するウィルスをシナリオ関数が無力化する。ウィルスが何かが分からなければこのことは解る筈がない。)

 

 

 

6.1 主語ベクトルの領域定義

 

ウィルスはプログラムの受信領域に正常な情報として受信命令により侵入する。プログラムがシナリオ関数の場合も同じで、その受信領域はR2ベクトルの受信領域となる。受信領域名は受信レコード名で、シナリオ関数の場合、受信レコード名はR2ベクトルの主語名、即ち名詞と呼ばれる。ここで主語ベクトルの領域定義に関して注意しなければならないことがある。それを以下に述べる。即ち、主語ベクトルL4,AではAがA=B+Cの場合、この算定式はL4,Aの第2規約で定義されるが、第2規約のAは第4領域のAとは別物である。第2規約のAは第4領域のAの作業領域として定義され、第4領域のAはL4,Aの解、即ち、主語を治める為の領域として定義される。そして、L4,Aの第3規約で第2規約のAの文脈チェックが行われ、それがOKなら第2規約のAは第4領域のAに移されるのである。この文脈チェックの為に用いられるB,CはいずれもA=B+CのB,Cではなく、B,Cそれぞれを主語名とする主語ベクトルの解であるそれぞれの第4領域の主語名である。故に、R2ベクトルに於いてもその定義構造はシナリオ関数の普遍性の観点からL4,Aと同じでなければならないことである。ここ大切です。

 

 

 

6.2 侵入したウィルスプログラムが起動する仕組み

 

受信プログラムで受信命令が発報されると、その受信命令はその発報が正統に終了したかを引き続き確認する。もし、受信情報がウィルスプログラムであれば、そのウィルスプログラムは受信命令が正常終了したことを確認した時宜で、実行権を得て実行を開始する。そして、自らを解析し、それにより得た具備する仕組みで自分自身を起動させる。シナリオ関数では受信プログラムとはR2ベクトルである。故に、上記のプログラムは次の様に置き換えられる。即ち、R2ベクトルは受信命令が第2規約で発報されると、その受信命令はその発報が正統に終了したかを引き続き確認する。もし、受信情報がウィルスプログラムであれば、そのウィルスプログラムは受信命令が正常終了したことを確認した時宜で、実行権を得て実行を開始する。そして、自らを解析し、それにより具備する仕組みで自分自身を起動させる。

 

 

 

6.3 R2ベクトルが侵入したウィルスプログラムの起動割り込みを阻止する為の仕組

 

しかし、R2ベクトルとL4,Aにはその存在性に於いて違いがある。即ち、L4,Aでは第2規約の実行命令A=B+Cはこの通りに実行されることでよい。他方、R2ベクトルの第2規約の受信の実行命令もL4,Aの第2規約の命令と同じ様にその通りに実行される事でよいのだが、問題は、受信領域にセットされた情報が自分勝手に起動する仕組みを具備するプログラム、即ち、ウィルスプログラムの場合、R2ベクトルは侵入したウィルスを無力化する為の機能のひとつとして、ウィルスプログラムの起動を阻止する必要がある。その為の方法を以下に述べる。即ち、R2ベクトルではその第2規約で受容命令を発報し、その実行が正当に終了したかどうかを引き続きチェックする。受容命令はこのチェックが出来る様に構成されている。そして、実行が正当に終了していれば、引き続くGOTO文でR2ベクトルの第3規約に実行権を渡す。第3規約ではR2ベクトルの主語の文脈をチェックし、OKならば引き続くGOTO文でR2ベクトルの第4規約に実行権を渡す。第4規約では受信領域の内容を第4領域に移す。故に、もし、受信領域の内容がウィルスであれば、第4領域の内容は汚染されるが、受容領域のウィルスが独自の仕組みで起動するには至らない。そして、第4領域の内容は項目ごとに主語の名詞であり、対応する主語ベクトルで統治される。本来、主語ベクトルの第4領域の内容は、その主語ベクトルが起動して、その第4領域の内容を成立させるものであるが、この場合は、起動する前にその第4領域の内容が成立しているという事になれば、即ち、主語ベクトルの第2フラグがオフでその第4領域の内容がオンの状態であれば、同期アルゴリズムの観点に於いて、それはウィルスによる汚染に他ならない。故に、この主語ベクトルはそのVWAの実行時宜でリセットされる。以上このくだりはとても重要である。故に、確実に理解し、エミュレータで検証すること、理解が曖昧なうちは他者への解説は控えたほうが良い。

 

 

 

6.4  ウィルスを起動させない仕組の補足

 

OSは、コンパイルテーブル(CT:コンパイラがソースプログラムから、OSの為に生成する情報)の情報を用いてプログラムの実行権を統治する。即ち、OSの実行権付与の仕組みの為にCTがある。従来型プログラムの構造はプログラムの生産性向上施策として、プログラム部品アイデアが幅をきかせる世界基準が流行する。そして、その為、プログラム言語のあり方が無秩序化し、それにより外観的にはプログラム構造が単純構造にみえる。しかし、実行構造は複雑化する。即ち、OSの実行権付与の仕組を決めるCTが複雑化する。これが本研究でいう従来プログラムの構造欠陥である。

 

それに対し、シナリオ関数のCTは複雑化しない。これが前項で述べているシナリオ関数のウィルスを起動させない仕組みを成立させるのである。

 

 

 

6.5 R2ベクトルで使用する受信命令についての根来見解

 

受信機能の受信命令は本来素朴に利用者側で作成されるべきものであるが、提供側が無分別に汎用的に関数化をして、内容を隠蔽し、利便性を強調してその使用を強制する傾向が強い。これは明らかに誤りなので、利用者側は独自でコーデングするべきである。それぐらいはできなければ話にはならない。もし、関数型を利用する場合には、よく調べて作成側に問いシナリオ関数の精神性を満たす範囲で使用してください。