WO2016021220A1 - 侵入したウイルスを自律的に無力化するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置 - Google Patents
侵入したウイルスを自律的に無力化するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置 Download PDFInfo
- Publication number
- WO2016021220A1 WO2016021220A1 PCT/JP2015/056268 JP2015056268W WO2016021220A1 WO 2016021220 A1 WO2016021220 A1 WO 2016021220A1 JP 2015056268 W JP2015056268 W JP 2015056268W WO 2016021220 A1 WO2016021220 A1 WO 2016021220A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- vector
- virus
- contamination
- subject
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Complex Calculations (AREA)
Abstract
Description
換言すれば、この点がウイルス問題解法の絶対条件である。
A.課題の解法に至る経緯
B.ウイルス問題の捉え方
C.本願独自の方法論の構築
本発明に至る研究は、叙述法を改善すればソフト危機は解法できるとの仮説に基づき、本発明者が1973年から開始したのが嚆矢である。本研究前段の15年間は、プログラムの本質を考える為に世界の知見(論文)の収集と様々な分野の数百本に及ぶプログラムの動性分析が行われた。プログラムの動性分析はプログラムの良い静的定義(ソースコード)を見出す為には、不可欠となる。プログラムに限らず、動性体の良い静的定義を行う為には、その動性を良く知ることが重要である。
(1)複写性の成立
(2)意味の仕組を捉える自動化アルゴリズム(意味の仕組)の発見
(3)プログラムの自動生成の仕組
(4)プログラム保守作業の自動対応の仕組
(5)品質概念の消滅
ここで、ウイルス問題に対して考察を深める。ウイルス問題の解の求め方には以下の考え方がある。
(1) ウイルスがプログラムに侵入する前に阻止する。
(2) 上記1に公権力を加えてウイルス問題を犯罪化して排除する。
(3) ウイルス問題を侵入されるプログラム(侵入媒体)に解法させる。
本発明では、ウイルスの無力化が狙点である。本発明では解法という言葉がしばしば登場するが、これは解決という言葉と語彙を区別する為に採用した語句である。即ち、本発明では「解法」とは問題を原理的に抹消すること、「解決」とは本来的には封印できない問題を臨床的に封印することを意味するものとして用いる。
(1)ウイルス侵入をシグナルとして発症する汚染
(2)ウイルス症状を成立させる過程で発症する汚染
(3)ウイルス症状として発症する汚染
ウイルス意図と症状(例)を以下に示す。ウイルス意図は今後進化すると思われるので、水準を分けて示す。
水準1:既存システムの活用化(入出力データの書き換え、DB情報の盗用)
水準2:システムの反乱化(入出力情報の揺動)
水準3:システムの沈黙化(入出力情報の廃棄)
水準4:システム破壊(条件文の破壊)
水準5:システム占拠(ウイルスの起動時宜の制御)
ウイルスの汚染は結果的にプログラムの命令文の汚染に帰着する。命令文の汚染は命令文の上書き現象に帰着する。命令文の構造が命令文の汚染の内容になる。即ち、以下のようになる。
(1)命令文が使用するデータ領域
(2)命令文の命令コード
(3)命令文が直接使用する定数(定値)
(4)命令文が直接使用する文字列(定置)
本発明でいうデータ領域の内容とは以下の通りである。
(1)ベクトルごとに設けられる第4領域
(2)ベクトルごとに設けられる3種のフラグ
(3)シナリオ関数に唯ひとつ設けられる主語成立数カウンタ
(4)シナリオ関数に唯ひとつ設けられる主語成立数スタック
上記(1)の汚染は本プログラムの仕組(後述)で捉え自動解回復させる。上記(2)の汚染はベクトルを基に成立するウイルス観察アルゴリズム(後述)で捉え自動解回復させる。上記(3)(4)の汚染はE42(後述)の成立の背因として捉える。意図的な命令文の汚染も、結果的に、命令汚染となる。注釈文(定置文)の汚染は実行時にその注釈文(定置文)と既知である定義上の注釈文(定置文)を比較定数として両者をXORすれば捉えられる。この仕組は後述されるベクトルで成立させることができる。本発明ではこの解法をワクチン法と呼ぶこととする。本発明では注釈文(定置文)の汚染は定置問題として位置付けられる。定置問題はWebプログラムの世界では、動画や絵を汚染する原因に繋がる。
図1A,1Cに、本発明の要約を示す。図1Aにおいて、1A-1は電算機の記憶領域、1A-10は従来のプログラム、1A-11は本発明のプログラムを示し、従来のプログラムはウイルスに汚染されるが、本発明のプログラムはウイルスに汚染されても自力で除染するので汚染されることはないことを示している。図1Cにおいて、1C-1は電算機の記憶領域、1C-10は従来のプログラム、1C-11は本発明のプログラム,1C-2はウイルスを示す。従来のプログラムはウイルスに汚染されるが、本発明のプログラムはウイルスに汚染されても自力で除染する。それはウイルスに上書きされないことである。本図はそのことを示す図である。
(1)稼動中の本プログラムはウイルスの侵入を許容する。
(2)本発明のプログラムは本業の片手間に侵入したウイルスを自力で無力化する。
(3)結果、本プログラムにより、ウイルスは存在してもウイルス問題は存在しないことになる。
(4)どのプログラムも現行のOSの基では命令破壊に遭遇すれば停止するが、本プログラムも同じ。本発明においては、緊急停止後、継続再起を自動的に行わせるプログラムを準備することを提案している。そのプログラムをSLP(Soft Landing Proram)と呼ぶ。
(5)結果的に、本プログラムはウイルスに侵入されても命令破壊以外のウイルス症状を、発症させない仕組になっている。
本発明はプログラムとして、正統な主語の脈略を作る仕組が求められれば、ウイルス問題を含むプログラム問題は結果的に解法されるということを発見したことにもなる。
上述のように、プログラム問題、ウイルス問題の解法はシナリオ関数で成立する。しかし、シナリオ関数の普及が阻まれる背因をここで触れておきたい。プログラム問題をプログラム言語だけをより所にシステムの利便性に置き換え、プログラムを作ることの危うさは1970年代の初めからソフト危機として知られていたものである。しかし、この分野の半世紀に及ぶ、今日までの歩みを回想すると、この問題は1990年までには、解法されるべき課題であった。
本願では、実行中のプログラムに侵入するウイルスが発症させるプログラムのデータ領域の汚染はプログラムを本発明のプログラム(以下、「本プログラム」ともいう。)に置き換えると本プログラムでは、その汚染を実行時に発症する叙述矛盾として、本プログラムに関わる如何なる箇所の汚染も例外なく、自律的に捉え且つ其れを自律的に排除して、本プログラムの本業の働きを継続する。そのような本プログラムの定義構造は本願特有の課題解決手段である。
具体的に、上記課題を解決するために、本発明に係るウイルス自律的解法プログラム定義構造は、実行状態にあるプログラムの為の所定の記憶領域が何らかの理由で前記プログラムについての意図に反する反意図情報に汚染されると前記汚染を自力で捉える為の汚染把握機構と、前記汚染把握機構にて捉えられた汚染を自力で除染する為の除染機構と、前記記憶領域を正常状態に自動回復させる為の正常状態回復機構とを具備する。
従来のプログラムは論理結合型叙述法に因っていることが、プログラムとしての完全性が成立させられない原因であるが、論理結合型叙述法はわれわれが本能的に身に付けている習慣である。それ故に、そのプログラムの在り方にはプログラム問題で見られる様に多くの問題が内在することになるのであるが、その叙述法の馴れ親しみ易さが、その問題を是とする暗黙の前提になってしまっていると言う問題がある。
意味は全体(内包的光景)的である。自然上の存在たるわれわれは部分なので、「意味」、「全体」等の言葉を持っているにも拘らず、その実体の内包的光景をわれわれ自身の記憶として叙述することはできない。われわれができることは、部分を機能的に脈略化(ロジック化)して、意味や全体を連想するに留まるものである。
意味はわれわれの脳裏の中に存在する、と仮説する。
意味の仕組はシナリオ関数の解(S)である。意味の仕組とはわれわれの脳裏の中に存在する意味の模型である。シナリオ関数はその動性(データ結合)で主語の脈略を成立させる。それが意味の仕組の模型である(図12参照)。主語の脈略はロジックに較べて、全体の概念により近似する。故に、この特性から主語の脈略を意味の仕組と呼ぶのである。
従来のプログラムの動性、即ち、領域を節とする命令の実行軌跡は所謂スパゲテイ型となるのに対し、シナリオ関数の動性は櫛型となる。主語の脈略で捉えると両者とも同じ意味の仕組となる。これが意味の仕組みの特徴である。意味の仕組は主語、定値がウイルスで汚染されれば、その波及がどこまで及び、そして、汚染の無力化範囲を限定する為の論考に用いられた。結果、定値、主語、変数主語の汚染を無力化すれば、汚染問題は解法できるとの結論が得られた。このことは(後述する)プログラム模型で見ることができる。
図12は図10の意味の仕組を表す図である。図12に於ける太い実線は図10の流れ図の線であり、細線は流れ図には表れないもので流れ図線を補完する関係線で意味の仕組を表すことになる。図10に現れる線(以下、「経路」ともいう。)の本数は20個、図12の図10と同質の経路数は22個となる。図12の方が経路数が2個多いのは図12の方が、厳密性が高いためである。この経路は調和座標で成立するので、調和脈略と記される。他方、図12では更に16個の経路が出現している。この経路は超言語座標で捉えられるので超言語脈略と記される。超言語脈略は図12に現れ、図10には出現しない。これが意味の仕組(主語の脈略)の特徴である。そして、図12の方が図10よりも明らかに全体化されていることの証である。
図10は論理結合型プログラムを示す流れ図である。図11A、図11BはこのプログラムのLYEE空間である。意味の仕組を求める為に必要なLYEEの項目の説明をする。
1)事例に図10のプログラムを用いる。
2)文種とは単元化されたプログラム構文の種類のことである。
単元文の種類は10種である。
3)12種のベクトル種別は領域文を除く文種に呼応する。
4)主語とは単元文の解である。
5)連動文とは主語を持たない単元文のことである。これらは主語を持つ単元文に属すことに於いて文脈を構成する。文脈とは意味の仕組の最少単位のことである。
6)行番号は単元文のそのプログラムに於ける位置である。
7)調和座標は単元文が実行される様子を捉える為の6種の座標である。
a.TCXは行番号に連動する.単元文のプログラム上の位置である。
b.TCYは単元文が無条件で次に進む単元文のTCXである。
c.TCZ1は単元が文条件文で真のとき、次に進む単元文のTCXである。
d.TCZ2は単元文が条件文で偽のとき、次に進む単元文のTCXである。
e.TCZ3は単元文が条件文でその及ぶ範囲の終わりの単元文のTCXである。
f.TCZ4はTCZ3の単元文が次に進む単元文のTCXである。
8)超言語化された単元文とは単元文の構成項目(主語、変数主語、定値,定置、指標)に調和座標が付与された単元文のことである。
単元文は調和座標(図11A、図11B)に従って順序づけられる。これはプログラム例の流れ図(図10)と同等の様相である。意味の仕組(図12)ではこれを調和脈略と記す。流れ図の単元文は意味の仕組では超言語化された単元文に置き換えられる。図11A、図11BのLYEE空間で分かる様に、超言語化された単元文ではその構成項目には全て調和座標が付与されている。これを用いて構成項目の脈略が求められる。これを超言語脈略と記す。LYEE空間(図11A、図11B)参照。
以上の様に意味の仕組、即ち名詞の脈略は座標を用いて生成することができる。結果、従来のプログラムであろうと本プログラムであろうと、プログラムに属す名詞は主語として網羅的に捉えられることになる。主語としてとは既述の通り、調和座標と超言語座標とで名詞が脈略化されることである。即ち、これら座標が名詞を主語化する関係を捉えていることに留意さえすれば、名詞がこれら座標で脈略化されていても、それは主語として脈略化されているということになる。これが意味の仕組のポイントである。
(1)例えばひとつの主語(名詞)が他の主語とどの様な成立関係で成立しているかを目視することができる。この成立関係は本意味の仕組でなければ、ひとでは完全に脳裏に浮かべることができないものである。その意味で、意味の仕組を求めれば、それは人が初めて目にするプログラムの光景である。
(2)意味の仕組の名詞(主語)のネットワーク(脈略)に於ける順位(主語順序列)はその主語の成立由来を捉えている。故に、これを用いれば、要求者の意図がプログラムで正当に捉えられているかを目視的に観察することができる。
(3)意味の仕組でプログラムのどこをテストするべきかを観察することができる。
以上で、本発明が前提的に到達した公理である「意味が成立する構造」についての説明を終了する。次に、本発明に係るプログラムとシナリオ関数との関連について説明する。
(1)本プログラムはウイルス問題を解法する理論である、
(2)ウイルス問題はプログラムで解法できる、
ことが示されている。
(1)本プログラムの構成要素のベクトルを規約する7個の規約のひとつを人為的に定義すれば、本プログラムを構成する全てのコードが決まる。
(2)上記(1)は本プログラムが普遍的であることの証である。
(3)図1Bの関係は従来プログラムが存在すれば本プログラムも存在することの証しである。
(4)本明細書に添付される本プログラムの模型は上記(1)(2)(3)の証明である。
(5)本プログラムを決定する命令文においてはその文種を区別する為の情報を事前に定義すれば、この定義を用いて従来プログラムから自動的に取り出すことができる(図11A、図11B(LYEE空間)参照)。
(6)本プログラムを決定する命令文は本プログラムを構成する12種のベクトルの内のL4型制御ベクトルを含む5種の主語ベクトルで使用される。どのベクトルがどの命令文を使用するかはベクトルごとに例外なく決まる。これについては本稿のベクトルの項で解説される。
(1)従来のプログラムと同じ本業をやり遂げる、
(2)並行してウイルス問題を解法する、
ものである。本プログラムを追跡(ウオークスルー)すれば、上記(1)(2)の役割が果たされていることが把握できる。
次に、プログラムの基盤となるシナリオ関数を解説する。シナリオ関数も所謂電算機のプログラムにほかならない。プログラムの機能的役割からすれば、シナリオ関数は従来のプログラムとなんら変わることのないプログラムである。シナリオ関数は以下の定義式で表される。即ち、
S=Φ0(Φ4({L4}、{W4}、E41、E42、T4)+Φ2({L2}、{R2}、T2)+Φ3({L3}、T31、T32、T33))
シナリオ関数は定義式で決定表現できる世界で初めてのプログラム構造である。右辺の全記号はそれぞれ決定論で導かれるプログラムである。シナリオ関数の定義式の各記号を以下に解説する。
シナリオ関数には従来のプログラムにはない解という概念が成立する。シナリオ関数の解(S)は、名詞、或は命令文の実行順序ではなく、主語のデータ結合の様相である。これは意味の仕組とも呼ばれる(図12参照)。意味の仕組はシナリオ関数の動性の全景である。シナリオ関数の解の求め方は意味の仕組の項で解説される。これ迄の論理の流れ図はシナリオ関数の解の部分に相当する。本発明では動性の全景は存在すると仮説される全体の輪郭に向かう究極の(外延的)様相のとして位置付けられる。ベクトル、座標関数、同期関数はシナリオ関数の解となる主語のデータ結合を可能な限界まで外延的に成立させる為の仕組になっている。
図3(ベクトルの基本構造)を参照する。同図に示されるように、ベクトルは7種の叙述規約で構成される。それぞれ、第1,2,3,4,5,6,7規約と記される。3S101は第1規約で、第2規約に進むかここで終了するかが判定される。3S1011は第1規約の出口である。3S201は第2規約で、ベクトルの本来の処理が行われる場である。3S301は第3規約で、ベクトルに於ける本来の処理に関する判定が行われる場である。3S401は第4規約で、第3規約の是で、ベクトルに於ける本来の処理を完了させる場である。3S4011はベクトルに於ける本来の処理を完了による出口である。3S302は第5規約で、第3規約の否で行われる処理の場である。3S303は第6規約で、第5規約の是で行われるベクトルが再起を要請する場である。3S3031は第6規約の出口である。3S304は第7規約で、第5規約の非で行われるベクトルが再起停止を要請する場である。3S3041は第7規約の出口である。
第4領域はベクトルが統治する命令で示唆される。ベクトルの第3規約は第4領域の正統性を判定し、正統でなければベクトルの再起を促す為に、第5規約に向かう指示を出す。正統な第4領域は第3規約で判定され第4規約で決定される。正統な第4領域とは第4領域が汚染されていないことを意味する。ベクトルが統治する命令文で示唆された第4領域はその命令文の成立に関わる全変数主語が正統であれば、正統であるといえる。この判定は第3規約で行われる。この判定を第4領域の正統性と記す。
正統な第4領域がベクトルの解である。ベクトルの第5規約では正統な第4領域の成立可能性の有無が判定されるが、その方法については後述される。ベクトルの第6規約は正統な第4領域の成立の可能性が同じ座標周期にあることを宣言する(座標周期の項参照)。ベクトルの第7規約は正統な第4領域の成立の可能性が近い未來にはないことを宣言する。ベクトルの第1規約では、自分の正統性を用いて、自分の作用をここで終えるか第2規約に進むかを判定する。ベクトルの構造の由来は本発明者の本(コンピュータウイルスを無力化するプログラム革命)で解説されている。図4A、図5にて示されるように、本発明のプログラムのベクトルはベクトルで決まるウイルス観察アルゴリズムと既述の様に第2フラグを加えて成立している。
ベクトルは以下の3種に区分できる。
(1)命令文の主語を解とするベクトル
(2)1個以上の命令文で決まる機能の成否を解とするベクトル
(3)シナリオ関数の制御の成否を解とするベクトル
上記(1)は主語ベクトル、(2)はL4型制御ベクトル、(3)は制御ベクトルと総称される。
図2(ベクトル種別)を参照する。同図に示されるように、ベクトルの種別はL4、W4、E41、E42、T4、L2、R2、T2、L3、T31、T32、T33の12種である。L4、W4、L2、R2、L3は主語ベクトルである。主語ベクトルは最小クラスの名詞を主語化する。最小クラスの名詞は単元文に属す。
どの様なプログラム言語でもその命令文を単元化すれば以下10種の命令文種で叙述されている。単元化とは構文を1機能1構文の命令文に解釈し直すことである。ここで、単元化された構文を単元文という。単元文は1.領域文、2.注釈(定置)文、3.翻訳文、4.代入文、5.定値文、6.条件文、7.入力文、8.出力文、9.呼出文、10.制御文の10種である。ベクトルが統治する命令文は単元文である。単元文はベクトルに統治される。ベクトルは時制を帯同している。故に、ベクトルに統治される単元文には時制が付与されることになる。
(1)領域文、注釈文、翻訳文、制御文は時制を超越する。
(2)代入文、出力文、呼び出し文の時制は「今」である。
(3)定値文、入力文の時制は「過去」である。
(4)条件文の時制は「未来」である。
ここにおいて、時制を持つ単元文は主語を持つ。主語を成立させる単元文を統治するベクトルを主語ベクトルという。ベクトルの第4領域はベクトルの解が治まる領域である。主語ベクトルの第4領域は主語とも呼ばれる。シナリオ関数には固有の制御ベクトルE41、E42、T4、T2、T31、T32、T33がある。これらは従来のプログラムとは関係がない。
名詞とは領域の名称、主語とは領域の内容である。主語ベクトルは主語化される名詞(領域名)を付与して識別される。
例;:L4,名詞。
例;E41,P4という形式になる。
L4型制御ベクトルとは主語を持たない命令文が果たす機能を統治するベクトルである。識別はL4型制御ベクトルを代表する命令文に登場番号を付して示す。
L4型制御ベクトルに複数の命令文が属す場合、そして、その命令文の中に主語ベクトル化される命令文が属す場合、それは主語ベクトル化することができる。或いは、その命令文が既に主語ベクトル化されているのであれば、L4型制御ベクトルのその命令文の位置にはその命令文に代わり、その命令文の第4領域の成否を判定する叙述することができる。即ち、第4領域オン∧第2フラグオン∧第6フラグオフ∧第7フラグオフであることと記すことができる。もし、この条件を満たしていなければ、この命令文は成立していない。即ち、そのL4型制御ベクトルは成立していないことになる。
主語ベクトルでは主語を成立させる1個の命令文が統治される。即ち、代入文、定値文、呼出文、入力文はそれぞれのベクトルの第2規約、条件文は第3規約、そして、出力文は第4規約で統治される。制御文を統治するベクトルはない。領域文はベクトル化されない。領域文で定義される領域情報は従来のプログラムと同じ様に定義されて基本的には同期関数の先頭に置かれる。翻訳文はL4型制御ベクトルで統治される。
E41は本プログラムの終了状態を捉える。E42は論理矛盾を捉える。T4は座標関数4を2に切り替える条件を捉える。T2は座標関数2を3に切り替える条件を捉える。T31は座標関数3を自分の座標関数4に切り替える条件を捉える。T32は座標関数3を自分の下位の座標関数4に切り替える条件を捉える。T33は座標関数3を自分の最上位の座標関数3に切り替える条件を捉える。図9(シナリオ関数のランク構造)を参照すれば示されるように、自分の下位、最上位は本プログラムのランク構造で成立する概念である。
ベクトル種別L4、W4、E41、E42、T4、L2、R2、T2、L3、T31、T32、T33の数値はそのベクトルが存在する時制を示すものである。「4」はそのベクトルが時制上の今、「2」は過去、「3」は未來で存在するとの識別である。この概念は全時制が同期することに因り、意味が成立するとの本研究の仮説から生じたものである。
L3は真偽それぞれに定義される。それに呼応するベクトルは、主語ベクトルである。主語ベクトルは主語を持つ構文を制している。それに対し、L3は主語を持たない構文を制している。それ故、L3に呼応する主語ベクトルはそのL3に自分の主語を写す。L3はその主語を得て識別を成立させることになる。
パレットとはベクトルの3種の部分集合のことである。
(1){{L4}、{W4}、E41、E42、T4}はパレット4、P4と記される。
(2){{L2}、{R2}、T2}はパレット2、P2と記される。
(3){{L3}、T31、T32、T33}はパレット3、P3と記される。
パレット4に搭載されるベクトルは時制「今」で成立する命令文を統治するベクトルである。例えば代入文、出力文である。パレット2に搭載されるベクトルは時制「過去」で成立する命令文を統治するベクトルである。例えば定値文、入力文である。パレット3に搭載されるベクトルは時制「未來」で成立する命令文を統治するベクトルである。例えば条件文である。
従来のプログラムでは命令の並べ方の順位は、実行の前にその順位を決めて並べてなければならない。その理由は従来のプログラムは論理結合型思考法で成立するからである。他方、シナリオ関数ではパレットに属すベクトルの並べ方の順位は自由である。これは、シナリオ関数ではパレット上のベクトルの全体が繰り返し実行されることにより、ベクトルの主語の間にデータ結合が成立することで、次第にベクトルの順位が決まる仕組になっているからである。そして、繰り返し実行されることにより主語のデータ結合が成立し、シナリオ関数の解となる流れ図を凌駕する意味の仕組が導出される構造になっている(意味の仕組の項を参照)。
図8(同期関数(Φ0)の基本構造)を参照する。同図において、同期関数が起動すると、主語成立数、再起カウンタの値がゼロであれば、初期起動なので、主語成立数のスタック構造を初期値化する。初期起動でなければ、8S101はこのスタックを初期値化しない。主語成立数のスタック構造は図6参照。8S201では制御ベクトルE41の成否が調べられる。E41は本プログラムが終了状態にあることを告げるベクトルである。E41が成立していれば、同期関数は終了手続きを行うプログラム(SEP)を起動する。E41が成立していなければ、同期関数は統治する座標関数を起動する為の判定を行う。8S301では制御ベクトルT31の成否を調べる。T31が成立していれば、8S302でT31を初期値化してから自分が統治する座標関数4を起動する。T31が成立していなければ8S401で制御ベクトルT4の成否を調べる。T4が成立していれば、8S402でT4を初期値化してから自分が統治する座標関数2を起動する。T4が成立していなければ、8S501で制御ベクトルT2の成否を調べる。T2が成立していれば、8S502でT2を初期値化してから自分が統治する座標関数3を起動する。T2が成立していなければ、8S601で制御ベクトルT32の成否を調べる。T32が成立していれば、8S6011でT32を初期値化してから自分の隣下にいる本プログラムの座標関数4を起動して終了する。T32が成立していなければ、8S603で制御ベクトルT33の成否を調べる。T33が成立していれば、8S6021でT33を初期値化してから自分の最上位にいる本プログラムの座標関数3を起動して終了する。T33が成立していなければ、8S603で自分の座標関数4を起動する。
図7(座標関数の基本構造(Φ4,2,3))を参照する。同図において、7S101は同期関数で起動されるとOSが捉える命令破壊信号を調べる。7S1201は命令破壊信号が捉えられれば、この座標関数は本システムを停止させる為に準備されるプログラム(SLP)を起動する。7S201は命令破壊が行われていなければ、座標関数決まるパレットに搭載されているベクトルの搭載順位1のベクトルを指定する。ベクトルの搭載順には規則はない。ここが座標周期のはじまり点である。7S301では指定されたベクトルが起動される。7S401では起動されたベクトルがRETURNするとこの座標関数はOSが捉える命令破壊信号を調べる。そして、命令破壊信号が捉えられれば、SLPを起動する。7S501では命令破壊がなかったので、ベクトルの搭載順位が1個更新される。7S601では更新された搭載順位がベクトルの搭載数を超えたか否かが調べられる。搭載数を超えてなければ指定された順位のベクトルが7S301で起動される。7S701はベクトルの搭載数が超えた場合の処理である。ここでは指定されているパレットのベクトルの中に第6フラグがオンのものがあるかないかが調べられる。もし、第6フラグがオンのものがあれば、このパレットはまだ臨界状態には足していないのでパレットに搭載されているベクトルを搭載順位1のものから再起させる必要がある。この場合、7S701で再起カウンタを更新して7S201に移る。7S701で第6フラグがオンのものがなければ、このパレットは臨界状態には達している。この状態はこの座標関数の座標周期の終了である。7S801では第7フラグは全てオフにされる。これは次の座標周期で第4領域が成立する可能性があるので、その可能性を阻害しないためである。7S901では主語成立数のスタックを更新する。7S1001ではベクトルE42の成否が調べられる。E42はOSでは捉えられない命令の上書き汚染を捉える為のものである。もし、成立していれば、この座標関数はSLPを起動する。E42が成立していなければ7S1101ではこの座標関数の制御を同期関数に返す。
プログラムが自分でウイルス汚染を解法するには、以下の仕組を備えることが必要である。
(1)実行時にウイルス汚染を捉える仕組
(2)除染する仕組
(3)除染後再起させる仕組
本発明では、ウイルス問題は従来プログラムの動性の不完全さが発症させる現象として透徹されている。本発明は、1973年のソフト危機の段階で本来改革されるべきであった論理結合型プログラムのソースコードの定義、並びにその動性の不完全さが、実際には改善されることなくそのままの状態で電算機システムの利便性を増加させてきた結果、それらプログラムが温床となって、ウイルス問題が発症している、という認識に立つものである。また、ウイルス症状の発症を阻止する防御壁を、侵入媒体の手前に置くとする、ウイルス対応の現商品群がとっている方法も基本的に欠陥があり、ウイルス問題の解法には至らないということも自明であって、問題がある。
(1)ウイルス汚染は侵入媒体の叙述矛盾として捉えられる。
(2)侵入媒体の汚染を解法すれば侵入媒体のウイルス問題は消去される。
公理1に準じれば、ウイルス問題を解法する為には、ウイルスを侵入媒体に侵入させて侵入媒体に汚染を発症させなければならない。公理1はウイルスの侵入方法はウイルス問題から除外できるということを意味している。侵入媒体に生じる叙述矛盾は侵入媒体の構造で決まるから、侵入媒体の叙述矛盾はウイルスとは無関係に捉えることができるということになる。一方、公理2はウイルスの仕組から必然の帰結である。ウイルスの無力化とはウイルスの存在を無意味にすることである。
本プログラムの為のベクトルは図3から図4Aに置き換えられる。図4Aではウイルス観察アルゴリズム(図5)が使用されている。図4Aにおいて、4AS101はベクトルに添付されるウイルス観察アルゴリズム(VWA)である。4AS201はベクトルの第1規約で、ここではベクトルの正当性判定が行われる。ベクトルの正当性判定は図4B(後述する)を参照されたい。4AS2011は第1規約の出口である。4AS301はベクトルの第2規約で、ここでは第2フラグがオンにセットされる。第2規約で統治される命令文はここに置かれる。4AS401はベクトルの第3規約で、ここでは第4領域の正当性が判定される。4AS501はベクトルの第4規約で、第3規約の判定が是ならば、ベクトルで統治される命令文により求められた主語が求められた時点の再起カウンタと共に第4領域に移される。第6フラグはオフにされる。4AS5011は第4規約の出口である。4AS402はベクトルの第5規約である。第3規約の判定が否ならば、第5規約でその判定が是となる可能性の有無が判定される。この判定の為に主語成立数のスタック構造が用いられる。ここで第4領域が初期値化される。4AS403はベクトルの第6規約で、第5規約で可能性が有れば、ベクトルの再起要請の為にここで、第6フラグをオンに、第2フラグをオフにする。4AS4031は第6規約の出口である。4AS404はベクトルの第7規約で、第5規約で可能性が無ければ、ベクトルの再起停止の為にここで第7フラグをオンに、第2フラグをオフにする。4AS4041は第7規約の出口である。第6、第7規約にはもし、サービスメッセージなどの補完的措置が必要ならばそれを取り込むことは可能である。4AS601では主語成立数カウンタに1が加算される。4AS701では再起カウンタの値が保持される。
ベクトルは座標関数により、再起することに於いて、ベクトルが自分の出口2、3,4のいずれかをパスしていること、或はウイルス観測プログラム(VWA)で初期値化されている状態であること、がベクトルの正統性を満たす要件である。因みに出口3の状態はVWAの出口状態と同じである(図3、図5参照)。ベクトルの正統性は第1規約で第2規約に進むか否やの判定条件となる。この条件は次の様に定義される。
第4領域と3種のフラグの間には普遍的な相対性が成立する(図4B参照)。ベクトルの正統性とはこの相対性のことをいう。
(1)VWAで初期値化されたベクトルの状態は出口3の状態と同じである。
この場合、ベクトルは第2規約に進む。
(2)出口2のベクトルの状態は、
(第4領域オン∧第2フラグオン∧第6フラグオフ∧第7フラグオフ)である。
この状態でVWAを経て再起されるベクトルは第1規約でRETURNする。
(3)出口3のベクトルの状態は、
(第4領域オフ∧第2フラグオフ∧第6フラグオン∧第7フラグオフ)である。
この状態でVWAを経て再起されるベクトルは第2規約に進む。
(4)出口4のベクトルの状態は、
(第4領域オフ∧第2フラグオフ∧第6フラグオフ∧第7フラグオン)である。
この状態で、VWAを経て再起されるベクトルは第1規約でRETURNする。
ベクトルの正統性、第4領域の正統性は意味が異なるので混同しない様に注意が必要である。第4領域の正統性は第3規約で使用する。ベクトルの正統性は第1規約で使用する。
ベクトルは自分の第4領域の正統な成立を果たす為に自分の第4領域の成立に関わる全変数主語の主語が汚染されずに成立しているや否や、を自分の第3規約で観察する。そして、変数主語の主語がひとつでも汚染されていれば、自分の第4領域の成立を断念し、第5規約に進む。第5規約では正統な主語が近未來に成立する可能性を主語の成立数の変化を用いる独特な方法で調べる。主語成立数のスタック項目を参照されたい。
VWAはフラグが汚染されていれば、そのベクトルを初期値化して、本プログラムの再起の仕組を用いて正統な第4領域を求め直す様に再起させる。しかし、ここで示すのは汚染されていないフラグの相対性が第4領域が正統であると示唆しているにも関わらず、即ち、第2フラグオン∧第6フラグオフ∧第7フラグオフにも関わらず、第4領域が、ウイルスで上書き汚染されている問題である。この第4領域は再起回数knで成立している。その第4領域は第4規約で第4領域knとして保持される。VWAは実行の都度、第4領域knと実行時の第4領域をXORし、同じであれば、第4領域knは汚染されていないことになる。同じでなければ、汚染されていることになる(図5参照)。汚染されていればこのベクトルはこのVWAで初期値化される。この措置の為に、
(1)座標関数で更新される再起カウンタが設置される。
(2)再起カウンタは本プログラムに1個である。
(3)設置場所は座標関数の臨界判定がNOとなった直後の位置である。
(4)ベクトルは第4領域が成立した時点でその時点の再起カウンタKnを付して第4領域を保持する。
(5)再起カウンタは主語成立数、主語成立数のスタックと同様に汚染されない特権領域に置かれる。
再起カウンタ、主語成立数、スタック構造はVWA(図5)のプログラム模型の3種のフラグの汚染観察の仕組でみることができる様にXORの定数を用いて汚染の有無が観察される。本発明ではその様な領域(3種のフラグ、再起カウンタ、主語成立数、スタック構造)を特権領域と記す。特権領域の汚染は全てVWAで3種のフラグの汚染観察と同じ様にXOR定数を用いて観察される。この為のXOR定数例を以下に示す。
(1)フラグ領域は4桁の最上位でオンオフが示される。
フラグ領域が汚染されれば、最上位桁だけでなく、その下3桁も汚染される。故に、4桁の下3桁ゼロが、この場合のXOR定数として成立する。
(2)再起カウンタは4桁の最上位から計数値が示される。
再起カウンタが汚染されれば、4桁の下1桁も汚染される。故に、4桁の下1桁ゼロが、この場合のXOR定数として成立する。
(3)主語成立数カウンタ4桁の最上位から計数値が示される。
主語成立数カウンが汚染されれば、4桁の下1桁も汚染される。故に、4桁の下1桁ゼロが、この場合のXOR定数として成立する。
(4)主語成立数スタックが汚染されれば、その性質から命令破壊と同じになる。この状態はXOR定数では捉えられないので、E42で捉える。
本プログラムの厳密で奥深い仕組が汚染を捉え自動回復させる仕組になっている。本プログラムのこの様な仕組を破壊するウイルス汚染は命令破壊以外にはあり得ないことになる。
・第2フラグの初期値はオフである。
・第2フラグは第6規約がオフにする。
・第2フラグは第7規約がオフにする。
・第2フラグは座標関数がオフにする。
・第6フラグの初期値はオンである。
・第6フラグは第6規約がオンにする。
・第6フラグは第4規約がオフにする。
・第6フラグは第5規約がオフにする。
・第7フラグの初期値はオフである。
・第7フラグは第7規約がオンにする。
・第7フラグは座標関数がオフにする。
ウイルス観察アルゴリズムは3種のフラグの汚染を観察し、汚染されていればその第4領域も汚染されているものと判断する。この場合、ベクトルは初期値化される(図5参照)。ウイルス観察アルゴリズム(図5)は図4Aで見る様にベクトルごとその先頭に置かれる。3種のフラグが汚染されずに第4領域が汚染される状況は起こり得ないと判断する。もし、この事態が起きれば論理矛盾が起きることになり、その場合にはE42がカバーすることになる。
2000年代の動性解析法の権威であったラバール大学(カナダ)のプログラムの動性解析法はプログラムに属す名詞(変数名)の成立軌跡を採る方法であった。これによれば、従来のプログラムの成立軌跡は、いわゆるスパゲッティ構造になる。一方、本願に係るシナリオ関数を解析すると、名詞の成立軌跡はいわゆる櫛形となり、いわゆるスパゲッティ構造にはならないことが確証され、従来型ソフトウエアの問題構造が可視的に示された(図1E参照)。すなわち、本発明による主語の軌跡を採る動性解析法を用いれば、従来のプログラムもシナリオ関数も本発明が名付ける意味の仕組(図12)の構造に帰着する。これはシナリオ関数がプログラムの叙述法として、最高のランクにあることの証の一つであると考えられる。意味の仕組の使途はシナリオ関数よりも従来プログラムの動性解析ツールとして有効である。
本プログラムの電算機内の動性は図12を主語のデータ結合で成立させる為の仕組である。従来のプログラムの電算機内の動性は図12を論理結合で成立させる仕組である。ウイルスは稼動中の本プログラムに侵入する。本プログラムが稼動中とは、本プログラムが電算機を用いて、本プログラムの解である、例えば、図12を作成中の状態をいう。ウイルスは複数の本プログラムの中から例えば、本プログラムAを侵入媒体として選んだ関係で本プログラムAに侵入する。本プログラムAからいえば、ウイルスの侵入とは、仕事中に訳もなく、自分が汚染されている事態である。この場合に、汚染される命令文の数は誰にも分からない。故に本発明ではベクトルに統治される命令は全て実行時にその汚染の有無がベクトルにより観察される。本プログラムには大切なフラグ、主語成立数カウンタ、そのスタックがあるが、それらも汚染されている可能性もある。汚染されていれば、本プログラムは結果的にこれらの汚染も命令破壊に至らない命令汚染を捉えるE42で捉えることになる。
本稿の解説、添付されているプログラム模型、そして、以下に示す課題の3者を紐付ければ、本発明の妥当性を見出すことができる。この場合の課題とは以下の4種の仕組である。
(1)本業の仕事をする仕組
(2)ウイルスを無力化する仕組
(3)本プログラムの完全性
(4)従来のプログラムを本プログラムに自動変換するアルゴリズムの成立
3種の座標関数はそれぞれが統治するパレットに搭載されている主語ベクトルを起動し、主語を成立させる。本プログラムは再起構造により主語を脈略関係を用いて可能な限り成立させる仕組になっている。以上は本プログラムが本業を行っていることの必要かつ十分な証明である。
本プログラムの汚染される対象は以下に示されるとおりである。
(1)ベクトル、座標関数、同期関数を規約する命令文
(2)データ領域
(3)3種のフラグ、主語成立数カウンタ、主語成立数のスタック領域
ウイルスを無力化するとは以下の措置を講じることである。
(1)データ領域の初期値化
(2)プログラムの実行停止
本プログラムはで使用される15個の普遍的(例外のないこと)な仕組を以下に示す。
(1)ベクトルの構造
(2)3種のフラグ
(3)VWAとその置かれる位置
(4)再起構造の仕組
(5)座標周期の仕組
(6)同期構造の仕組
(7)ベクトルの第1規約で使用するベクトルの正統性を捉える仕組
(8)ベクトルの第3規約で使用する第4領域の正統性を捉える仕組
(9)VWAが使用する第4領域の汚染を捉える仕組
(10)VWAが使用する特権領域の汚染を捉えるEOR定数の仕組
(11)主語成立数スタックを用いて論理矛盾をE42で捉える仕組
(12)主語成立数スタックを用いて第4領域の成立可能性を第5規約で捉える仕組
(13)主語成立数スタックの為に主語成立数を計数する為の位置
(14)パレットの臨界を捉える仕組
(15)プログラムの臨界を捉える仕組
正統な主語の最大数で成立する脈略の仕組は本プログラムの本業の完全性の証明である。因みに、従来のプログラムの本業の完全性をこの方法で証明すれば、プログラムのテストは不要になる。
従来のプログラムからLYEE空間(図11A、図11B)を生成するアルゴリズム、並びに、LYEE空間情報から本プログラムを生成するアルゴリズム(図1B)により従来のプログラムを本プログラムに自動変換することができる。複数のシナリオ関数で構成される本発明のプログラム構造はランク構造と呼ばれる。図9はシナリオ関数のランク構造図の一例を示す図である。同図において、Φ4(1,1)はランク構造(1,1)の座標関数4、Φ2(1,1)はランク構造(1,1)の座標関数2、Φ3(1,1)はランク構造(1,1)の座標関数3を示す。ランク構造の(X,Y)はランク構造を構成する本プログラムの識別子である。制御ベクトルT4,2,31は同じランクの本プログラムの座標関数4,2,3を連接する役割を果たす。制御ベクトルT32,33は異なるランクの座標関数の座標関数を連接する役割を果たす。ランク構造のシナリオ関数はベクトルT32、T33で連接される。従来のシステムでは理論上も実際上も複数のプログラムで構成しなければならないのに対し、シナリオ関数では理論上唯ひとつのシナリオ関数で構成することができる。この理由は、シナリオ関数ではシステムを構成するのに必要なプログラムはベクトルで対応することができるということにある。
図1Bに示されるように、論理結合型プログラムは専用のツールで本発明のシナリオ関数に自動変換することができる。
シナリオ関数では命令は主語を求める為の作用である。例えば、命令「A=B+C」のA、B、Cは名詞、Aが主語、そして、B、Cは変数主語となる。変数主語B、Cはシナリオ関数の何処かで主語B、主語Cになっている。シナリオ関数を本プログラムと置き換えて考えればよい。
ラバール大学のプログラムの動性解析で明らかな様に従来のプログラムの定義並びにその動性の(いわゆる)スパゲテイ様相に普遍性を見出すことはできない。一方、シナリオ関数の動性はデータ結合型であるが、その構成要素であるベクトル、座標関数、同期関数の叙述法は論理結合型であり、これらのソースコードの定義には複写性という普遍性が成立する。これはベクトルの定義に普遍性が成立する為である。データ結合にはラバール大学のプログラムの動性解析で明らかな様に、櫛形光景の普遍性が成立する。本プログラムがウイルス問題を叙述矛盾として解法できるのはソースコードの定義、並びにその動性に見られる普遍性が成立しているからである。本発明に係る同期関数、座標関数は固有のデータ領域を所有していない。本願において固有のデータ領域を所有しているのはベクトルだけである。故に、ベクトルがデータ領域の汚染を解法すれば、同期関数、座標関数はその影響を受けないことになる。ベクトルは従来の部分プログラムの様に機能を定義しているわけではない。唯、第4領域(主語)を決める仕組が定義されているだけである。その結果、座標関数は臨界まで第4領域を求める仕組に、同期関数は求められた第4領域を同期させる仕組に、それぞれ帰着している。従来的発想に必要な様々な機能がシナリオ関数ではすっかり不要になっている。その結果、シナリオ関数は従来のプログラムに較べれば、見違える様に単調になっている。ウイルス汚染を捉え解法する仕組はシナリオ関数のこの単調さ故に成立する。
シナリオ関数の再起構造はパレットに属す主語とその主語達の脈略化を可能的限界迄成立させる為のものである。即ち、意味の仕組を可能的限界まで追い求める外延的仕組の究極構造になっている。この再起構造は、A.ベクトル、B.3種の座標関数、C.1個の同期関数、が共通して持つ仕組である。ベクトルは自分の第4領域(主語)を成立させる為に自分を可能的限界(臨界)まで稼動する再起構造を持っている。座標関数は統治するパレットの中で、ベクトルの第4領域(主語)を脈略化してひとつでも多くの第4領域を成立させる為に可能的限界まで稼動する再起構造をもっている。
本発明においては、従来のプログラムの動的分析を通じて、われわれがいう問題とは非同期の様相であることを突き止め、それに対する解法をそれを同期構造に変える手続きとして位置付けられるものである。シナリオ関数の動性はデータ結合で成立し、従来のプログラムの動性は論理結合で成立する。それらはいずれも解法を意味する。シナリオ関数は電算機を用いて同期構造を成立させる仕組であるが、従来のプログラムはソースコードの定義段階で既に解法の道筋を決めている。そのことが従来プログラムの動性をいわゆるスパゲテイ構造として複雑化させている原因になっている。図12に示される意味の仕組、が解法の理想的な構造である。従来のプログラムの世界で意味の仕組を成立させるアルゴリズムがこれ迄発見されていないのは、プログラムの非同期様相から同期構造の考えを導くことは不可能であったからであると考えることができる。因みに、同期構造とはプログラムの意味の仕組を求めるアルゴリズムであり、これは世界で初めての発見であったものである。
本発明の研究では、意味は時制(今、過去、未来)を同期させる仕組で成立すると仮説し、その仕組、即ち、解を求める仕組がシナリオ関数として結実している。付言すれば、従来のプログラムには解の概念は存在しない。故に、従来のプログラムには同期構造という概念自体が存在しない。これは従来プログラムが完全に見落としている欠陥である。シナリオ関数では全時制の同期が成立する時宜、つまり、意味の仕組が成立する時宜を同期周期と名付けている。同期関数の上で同期周期を見ることができる。シナリオ関数に登場するベクトルは12種であるが、それらは3種の時制で分けられている。パレットは時制で分類されたベクトルを収容する器である。故に、パレットも3種になる。3種のパレットはそれぞれ固有の3種の座標関数で統治されている。座標関数4は時制の今を同期させる働きの模型である。座標関数2は時制の過去を同期させる働きの模型である。座標関数3は時制の未来を同期させる働きの模型である。同期関数はその3種の同期を統合する役割を果たしている。
座標関数4は統治するパレット4の全ベクトルを起動し、その起動を終える都度、パレット4に属すベクトルの中に第6フラグがオンのベクトルの存在の有無を調べる。そして、ひとつでもオンのベクトルがあれば、座標関数4は、再びパレット4の全ベクトルを初めから起動し直す。この再起動は座標関数4に属すベクトルの中に第6フラグのオンのものがなくなる迄繰り返される。換言すると、これはパレット4の全ベクトルの第4領域がオン且つ第7フラグがオンで充足される迄繰り返すということである。本発明ではこの充足状態をパレット4の臨界と呼ぶ。座標関数4が最初に起動してからパレット4の臨界状態に至るまでが、座標関数4の座標周期である。
図12の意味の仕組とは主語の脈略化図である。これを観れば誰もがその脈略を納得できるが、それを観ない限りこの全てを知ることができない。調和脈略は流れ図として知ることはできても、超言語脈略の大部分は未知の脈略である。そして、プログラムは従来のものであっても意味の仕組みの基で成立していることに気付いて欲しい。ということは、われわれはプログラムがどの様に成立しているかについての論理の殆どの部分が解からずにプログラムを作っているにも関わらず調和脈略だけでプログラムの論理が解かった様に振る舞っているということである。シナリオ関数並びにシナリオ関数を基盤とする本発明のプログラムはわれわれが解かっているのは名詞を主語化する論理だけだとして、その前提でプログラムの解である意味の仕組を成立させるプログラムである。プログラムの完全性やウイルス問題の解法はプログラムの意味の仕組を知ることに因り成立するものである。
本プログラムは、シナリオ関数のベクトルに第2フラグとウイルス観察アルゴリズムを加えて正統な主語の脈略を成立させる仕組である。
正統な主語(第4領域)が成立すれば主語成立数はベクトルの第4規約で主語成立数カウンタに1を加えて計数される。そして、ウイルス観察アルゴリズムでは、主語(第4領域)が正統でないと判定すれば、そのウイルス観察アルゴリズムがベクトルを初期値化する。その時点でウイルス観察アルゴリズムが主語成立数カウンタの値を1減じる。
図6のスタック構造図を参照する。同図は本発明の一実施形態に係る本プログラムが使用する主語成立数(第4領域成立数と同義)のスタック構造を示す図である。本スタックは本プログラムに1個で座標関数4の座標周期を利用して生成される。座標関数2、3では生成する必要がない。本スタックはベクトルで利用される。
利用の仕方を以下に記す。
(1)ベクトルの第5規約での利用
ベクトルの第5規約は自分の第4領域が同じ座標周期で成立する可能性の有無を問う為の規約である。この判定の為に主語成立数のスタックを用いる。
即ち、NS1>NS5なら自分の第4領域は同じ座標周期で成立する可能性があると判断することができる。
E42はOSでは捉えられない命令破壊を捉える為のベクトルである。E42はこの命令破壊を主語成立数の論理矛盾、即ち、NS1<NS5として捉える。本プログラムが正常であれば、NS1とNS5の関係はかならずNS1>NS5である。しかし、この事態が発症すると本プログラムに於けるこの関係はNS1<NS5にゆきつく。
原因は以下のいずれかである。
1)ベクトルの誤り
2)命令破壊に至らない命令コードの汚染
実行の段階で上記1)の誤りはないので、原因は上記2)である。
E41は本プログラムの主語成立数が臨界に達した状態(本プログラムの正常終了状態)を捉える為のベクトルである。E41はこの事態をNS1=NS5として捉える。
各パレットで成立する主語の限界状態はパレットの臨界と記す。パレット4の臨界はT4の成立条件となる。パレット2の臨界はT2の成立条件となる。パレット3の臨界はT31、T32,T33の二つの成立条件のひとつとなる。もう一つの条件は主語分布表で示される主語の所在箇所である。
(2)従来のプログラムを本発明のプログラムに置き換えれば、本プログラムはウイルス問題を解法する。
(3)従来のプログラムを図1Bで解る様に専用ツールで本プログラムに自動変換することが可能である。
(4)従来のプログラム技術者が、本プログラムを能率よく自分で作る為には約60時間程度の座学が必要である。
本プログラムに関するプログラム模型を本稿に添付する。本プログラムでは、データ領域を持つプログラムは本願に係るベクトルだけである。データ領域は汚染の対象である。故に、ベクトルにはデータ領域の汚染を無力化させる為の仕組が必要である。故に、本発明においては、ベクトルには第2フラグとVWAとが加えられている。本発明のベクトル以外のプログラム、即ち、VWA、座標関数、同期関数は固有のデータ領域を持たないことに留意してほしい。そのことに於いて、これらプログラムにはデータ領域の汚染問題は生じない。ということは即ち、これらに生じる汚染は命令破壊だけである、ということになる。これはベクトルの効果であり、本プログラムの特長である。故に、VWA、座標関数、同期関数は論理結合型プログラムのままで良い。プログラムが固有のデータ領域を持たなければ、そのプログラムはだれが作成したものでも、譬え、複写性が成立していなくても、共用することができることになる。即ち、VWA、座標関数、同期関数は誰が作成したものでも、複写性が成立していなくても共用できる、ということである。これも複写性の1種となる。
本プログラムのアルゴリズム例(以下、「プログラム模型」という。)は本明細書の内容、プログラム化される構造、即ち図3、4A、5、7、8を納得できる様にする為の解説資料として添付されている。故に、複雑による納得の混乱を避ける為に本明細書の内容の全てが模型化されているわけではない。本願発明の技術思想の開示として十分な範囲に留められている。従来のプログラム作成者でも本明細書の記述と本プログラム模型をガイダンスとすれば、本発明に基づくプログラムを作成することができる。本プログラム模型は本プログラムのコーデングを自動化するツールを示唆する仕様書にもなっている(図1B参照)
図5を参照する。次に、この場合のプログラム模型を示す。
001 START.
002 第2フラグの汚染観察:
0021 第2フラグの(2,3,4)桁を抽出する.
0022 第2フラグの(2,3,4)桁と対応するフラグ常数(0,0,0)をXORする.
00221 ZEROなら,第2フラグは汚染されていない、
GO TO 第6フラグの汚染観察.
00222 NOT ZEROなら,第2フラグは汚染されている、
GO TO L4,Aの初期値化.
003 第6フラグの汚染観察:
0031 第6フラグの(2,3,4)桁を抽出する.
0032 第6フラグの(2,3,4)桁と対応するフラグ常数(0,0,0)をXORする.
00321 ZEROなら,第6フラグは汚染されていない、
GO TO 第7フラグの汚染観察.
00322 NOT ZEROなら,第6フラグは汚染されている、
GO TO L4,Aの初期値化.
004 第7フラグの汚染観察:
0041 第7フラグの(2,3,4)桁を抽出する.
0042 第7フラグの(2,3,4)桁と対応するフラグ常数(0,0,0)をXORする.
00421 ZEROなら,第7フラグは汚染されていない、
RETURN.
00422 NOT ZEROなら,第7フラグは汚染されている、
GO TO L4,Aの初期値化.
005 L4,Aの初期値化
0051 第4領域を初期値化する.
0052 第2フラグをオフにする.
0053 第6フラグをオンにする.
0054 第7フラグをオフにする.
006 主語成立数カウンタをマイナス1にする。
007 RETURN.
このベクトルの命令文例を「A=B+C+512」とする。L4,Aが統治する命令文はベクトルの叙述法により第2規約に置かれる。このL4,AにはL3,Aがいないものとする。L4,AにL3,Aがいれば本第3規約にはL3,Aの正統性判定も加えられることになる。次に、この場合のプログラム模型を示す。
001 START.
002 NOP.
003 CALL VWA(L4,A).
004 第1規約:L4,Aの正統性を用いて第2規約に進むか、RETURNかを判定。
*ベクトルの正統性項参照
005 第2規約。
0051 MOVE 1 TO 第2フラグ.
0052 A=B+C+512.
006 第3規約:Aの正統性(第4領域の正統性)の判定。
0061 L4,Bの第4領域は正統か.
00611 正統なら GOTO 0062.
00612 正統でなければ GOTO 第5規約.
0062 L4,Cの第4領域は正統か.
00621 正統なら GOTO 第4規約.
00622 正統でなければ GOTO 第5規約.
007 第4規約。
0071 MOVE 0 TO L4,Aの第6フラグ.
0072 MOVE A TO L4,Aの第4領域.
0073 ADD 1 TO 主語成立数カウンタ.
008 RETURN.
009 第5規約:L4,AのAが同じ座標周期で成立するや否やの判定。
0091 MOVE 0 TO 第6フラグ.
0092 (NS1=NS5)なら第7規約に進む.
0093 (NS1>NS5)なら第6規約に進む.
010 第6規約:L4,Aの再起要請の宣言。
0101 L4,Aの第4領域を初期値化.
0102 MOVE 1 TO 第6フラグ.
0103 MOVE 0 TO 第2フラグ.
0104 RETURN.
011 第7規約:L4,Aの再起停止宣言。
0111 MOVE 1 TO 第7フラグ.
0112 MOVE 0 TO 第2フラグ.
0113 RETURN.
このベクトルの命令文例を「IF X<Y(真)」とする。L3,Dが統治する命令文はベクトルの叙述法により第3規約に置かれる。次に、この場合のプログラム模型を示す。
001 START.
002 NOP.
003 CALL VWA(L3,D).
004 第1規約:L3,Dの正統性を用いて第2規約に進むか、RETURNかを判定。
*ベクトルの正統性の項参照
005 第2規約。
0051 MOVE 1 TO 第2フラグ.
0052 NOP.
006 第3規約:IF X<Yの正統性の判定。
0061 L4,Xの第4領域は正統か.
00611 正統なら GOTO 0062.
00612 正統でなければ GOTO 第5規約.
0062 L4,Yの第4領域は正統か.
00621 正統なら GOTO 0063.
00622 正統でなければ GOTO 第5規約.
0063 IF X<Yか.
00631 正統なら GOTO 第4規約.
00632 正統でなければ GOTO 第5規約.
007 第4規約。
0071 MOVE 0 TO L3,Dの第6フラグ.
0072 MOVE 1 TO L3,Dの第4領域.
0073 ADD 1 TO 主語成立数カウンタ.
008 RETURN.
009 第5規約:L3,DのDが同じ座標周期で成立するや否やの判定。
0091 MOVE 0 TO 第6フラグ.
0092 (NS1=NS5)なら第7規約に進む.
0093 (NS1>NS5)なら第6規約に進む.
010 第6規約:L3,Dの再起要請の宣言。
0101 L3,Dの第4領域を初期値化.
0102 MOVE 1 TO 第6フラグ.
0103 MOVE 0 TO 第2フラグ.
0104 RETURN.
011 第7規約:L3,Dの再起停止宣言。
0111 MOVE 1 TO 第7フラグ.
0112 MOVE 0 TO 第2フラグ.
0113 RETURN.
このベクトルの命令文例を「C=11」とする。「L2,C」が統治する命令文はベクトルの叙述法により第2規約に置かれる。このL2,CにはL3,Cがいないものとする。L2,CにL3,Cがいれば本第3規約にはL3,Cの正統性判定も加えられることになる。その場合には第5,6,7規約が発生することになる。次に、この場合のプログラム模型を示す。
001 START.
002 NOP.
003 CALL VWA(L2,C).
004 第1規約:L2,Cの正統性を用いて第2規約に進むか、RETURNかを判定。
*ベクトルの正統性の項参照
005 第2規約。
0051 MOVE 1 TO 第2フラグ.
0052 C=11.
006 第3規約:C=11のCの正統性の判定。NOP.
007 第4規約
0071 MOVE 0 TO L2,Cの第6フラグ.
0072 MOVE C TO L2,Cの第4領域.
0073 ADD 1 TO 主語成立数カウンタ.
008 RETURN.
009 第5規約:NOP.
010 第6規約:NOP.
011 第7規約:NOP.
このベクトルの命令文例を「WRITE URIAGE,DB11」とする。これはURIAGEを外部記憶領域「DB11」に書く命令文である。この命令文の主語はDB11に成立する。DB11の正統性は不明である。このベクトルの役割は正統なL4,URIAGEをDB11に出力するということである。W4,URIAGEが統治する命令文はベクトルの叙述法により第4規約に置かれる。W4,URIAGEのVWA,第1、第3規約ではL4,URIAGEに置き換えて処理される。このW4,URIAGEにはL3,URIAGEがいないものとする。W4,URIAGEにL3,URIAGEがいれば本第3規約にはL3,URIAGEの正統性判定も加えられることになる。次に、この場合のプログラム模型を示す。
001 START.
002 NOP.
003 CALL VWA(W4,URIAGE).
004 第1規約:L4,URIAGEの正統性を用いて第2規約に進むか、RETURNかを判定。
*ベクトルの正統性の項参照
005 第2規約。
0051 MOVE 1 TO 第2フラグ.
0052 NOP.
006 第3規約:L4,URIAGEの正統性の判定。
0061 L4,URIAGEの第4領域は正統か.
00611 正統なら GOTO第4規約.
00612 正統でなければ GOTO 第5規約.
007 第4規約。
0071 MOVE 0 TO W4,URIAGEの第6フラグ.
0072 WRITE URIAGE,DB11.
0073 ADD 1 TO 主語成立数カウンタ.
008 RETURN.
009 第5規約: L4,URIAGEのURIAGEが同じ座標周期で成立するや否やの判定。
0091 MOVE 0 TO 第6フラグ.
0092 (NS1=NS5)なら第7規約に進む.
0093 (NS1>NS5)なら第6規約に進む.
010 第6規約:W4,URIAGEの再起要請の宣言。
0101 L4,URIAGE.の第4領域を初期値化.
0102 MOVE 1 TO 第6フラグ.
0103 MOVE 0 TO 第2フラグ.
0104 RETURN.
011 第7規約:W4,URIAGEの再起停止宣言。
0111 MOVE 1 TO 第7フラグ.
0112 MOVE 0 TO 第2フラグ.
0113 RETURN.
このベクトルの命令文例を「READ DB11,集計」とずる。これは外部記憶領域「DB11」を集計に移す命令文である。この命令文の主語は集計に成立する。このベクトルの役割は正統な集計を成立させるということである。R2 DB11が統治する命令文はベクトルの叙述法により第2規約に置かれる。R2 DB11のVWA,第1、第3規約ではL4,集計に置き換えて処理される。このR2 DB11にはL3,URIAGEがいないものとする。R2 DB11にL3,DB11がいれば本第3規約にはL3,DB11の正統性判定も加えられることになる。次に、この場合のプログラム模型を示す。
001 START.
002 NOP.
003 CALL VWA(R2 DB11).
004 第1規約:L4,集計の正統性を用いて第2規約に進むか、RETURNかを判定。
*ベクトルの正統性の項参照
005 第2規約。
0051 MOVE 1 TO 第2フラグ.
0052 READ DB11,集計.
006 第3規約:L4,集計の正統性の判定。
0061 L4,集計の第4領域は正統か.
00611 正統なら GOTO 007.
00612 正統でなければ GOTO 第5規約.
007 第4規約。
0071 MOVE 0 TO 第6フラグ.
0072 MOVE 集計 TO READ DB11,集計の第4領域.
0073 ADD 1 TO 主語成立数カウンタ.
008 RETURN.
009 第5規約:L4,集計の集計が同じ座標周期で成立するや否やの判定。
0091 MOVE 0 TO 第6フラグ.
0092 (NS1=NS5)なら第7規約に進む.
0093 (NS1>NS5)なら第6規約に進む.
010 第6規約:READ DB11,集計の再起要請の宣言。
0101 READ DB11,集計の第4領域を初期値化.
0102 MOVE 1 TO 第6フラグ.
0103 MOVE 0 TO 第2フラグ.
0104 RETURN.
011 第7規約:READ DB11,集計の再起停止宣言。
0111 MOVE 1 TO 第7フラグ.
0112 MOVE 0 TO 第2フラグ.
0113 RETURN.
E41,P4は本プログラムが終了状態にあることを告知する。E41,P4を分かり易くする為、論理結合型で示しているが、E41は固有のデータ領域(第4領域)を持っているので、実際はベクトル構造でプログラムする。次に、この場合のプログラム模型を示す。
001 START.
002 主語成立数スタックからNS1を採る.
003 主語成立数スタックからNS5を採る.
004 (NS1)=(NS5)の判定.
0041 YESなら GO TO 005.
0042 NOなら GO TO 006.
005 MOVE 1 TO E41の第4領域.
006 RETURN.
E42,P4は命令破壊には至らない命令汚染により、本プログラムに生じる論理矛盾の発症を告知する。E42,P4を分かり易くする為、論理結合型で示しているが、E42は固有のデータ領域(第4領域)を持っているので、実際はベクトル構造でプログラムする。次に、この場合のプログラム模型を示す。
001 START.
002 主語成立数スタックからNS1を採る.
003 主語成立数スタックからNS5を採る.
004 (NS1)<(NS5)の判定.:本プログラムに生じる論理矛盾はこの関係で捉えることができる。
0041 YESなら GO TO 005.
0042 NOなら GO TO 006.
005 MOVE 1 TO E42の第4領域.
006 RETURN.
T4,P4はその第4領域で座標関数4を座標関数2に切り替える条件が整ったことを告知する。T4,P4を分かり易くする為、論理結合型で示しているが、T4は固有のデータ領域(第4領域)を持っているので、実際はベクトル構造でプログラムする。次に、この場合のプログラム模型を示す。
001 START.
002 P4の臨界判定.
0021 パレット4の第6フラグ列の作成.
0022 パレット4の第6フラグ列常数の作成.
003 パレット4の第6フラグ列と第6フラグ列常数のXOR.
0031 XORがZEROならGOTO 004.
0032 XORがNOT ZEROならGOTO 005.
004 MOVE 1 TO T4の第4領域.
005 RETURN.
T2,P2はその第4領域で座標関数2を座標関数3に切り替える条件が整ったことを告知する。T2,P2を分かり易くする為、論理結合型で示しているが、T2は固有のデータ領域(第4領域)を持っているので、実際はベクトル構造でプログラムする。次に、この場合のプログラム模型を示す。
001 START.
002 P2の臨界判定:
0021 パレット2の第6フラグ列の作成.
0022 パレット2の第6フラグ列常数の作成.
003 パレット2の第6フラグ列と第6フラグ列常数のXOR.
0031 XORがZEROならGOTO 004.
0032 XORがNOT ZEROならGOTO 005.
004 MOVE 1 TO T4の第4領域.
005 RETURN.
「T31の第4領域」は座標関数3を自分の座標関数4に切り替える条件が整っていることを告知する。T31,P3を分かり易くする為、論理結合型で示しているが、T31は固有のデータ領域(第4領域)を持っているので、実際はベクトル構造でプログラムする。T31の第4領域の初期値はオンである。次に、この場合のプログラム模型を示す。
001 START.
002 P3の臨界判定:
0021 パレット3の第6フラグ列の作成.
0022 パレット3の第6フラグ列常数の作成.
003 パレット3の第6フラグ列と第6フラグ列常数のXOR(第1条件).
0031 XORがZEROならGOTO 004.
0032 XORがNOT ZEROならGOTO 006.
004 主語分布表(図13)を用いて行う判定。
0041 本プログラムの全主語は本プログラムに内在するか(第2条件)
0042 YESならGOTO 005.
0043 NOならGOTO 006.
005 MOVE 1 TO T31の第4領域.
006 RETURN.
「T32の第4領域」は座標関数3をランク構造に於ける本プログラム(1,1)の下位の本プログラム(2,1)の座標関数4に切り替える条件が整っていることを告知する。T32,P3を分かり易くする為、論理結合型で示しているが、T32は固有のデータ領域(第4領域)を持っているので、実際はベクトル構造でプログラムする。次に、この場合のプログラム模型を示す。
001 START.
002 P3の臨界判定:
0021 パレット3の第6フラグ列の作成.
0022 パレット3の第6フラグ列常数の作成.
003 パレット3の第6フラグ列と第6フラグ列常数のXOR(第1条件).
0031 XORがZEROならGOTO 004.
0032 XORがNOT ZEROならGOTO 006.
004 主語分布表(図13)を用いて行う判定。
0041 本プログラムの主語は隣下の本プログラムにも内在するか(第2条件)
0042 YESならGOTO 005.
0043 NOならGOTO 006.
005 MOVE 1 TO T32の第4領域.
006 RETURN.
「T33の第4領域」は座標関数3をランク構造に於ける本プログラム(1,1)の最上位の本プログラムの座標関数3に切り替える条件が整っていることを告知する。T33,P3を分かり易くする為、論理結合型で示しているが、T33は固有のデータ領域(第4領域)を持っているので、実際はベクトル構造でプログラムする。次に、この場合のプログラム模型を示す。
001 START.
002 P3の臨界判定:
0021 パレット3の第6フラグ列の作成.
0022 パレット3の第6フラグ列常数の作成.
003 パレット3の第6フラグ列と第6フラグ列常数のXOR(第1条件).
0031 XORがZEROならGOTO 004.
0032 XORがNOT ZEROならGOTO 006.
004 主語分布表(図13)を用いて行う判定。
0041 本プログラムの主語は隣上の本プログラムにも内在するか(第2条件)
0042 YESならGOTO 005.
0043 NOならGOTO 006.
005 MOVE 1 TO T32の第4領域.
006 RETURN.
同図は、主語がランク構造に属す本プログラムのどれに属しているかを表す為のものである。例えば(1,1)はランク構造に於けるシナリオ関数の位置座標である。
座標関数4のログラム模型を以下に示す。
001 START.
002 パレット4の搭載順位1(i=1)のベクトルを指定.:座標周期4の始まり
003 指定された搭載順位(i)のベクトルを起動.
004 ここは起動したベクトルのRETURN点です.
005 命令破壊信号(OS)の有無判定.
0051 有りで、SEP起動.:本プログラムの実行を停止
0052 なしで、GO TO 006.
006 起動する次のベクトルを指定(i=i+1).
007 (i)はパレット4のベクトルの搭載数(N4)を超えたか.
0071 超えていれば GO TO 008.
0072 超えていなければ GO TO 003.
008 パレット4の臨界の成否判定.:T4の第4領域のオンオフを利用
0081 オフなら GO TO 002.
0082 オンなら GO TO 009.:座標周期4の終了
009 論理矛盾発症の有無を判定:E42の第4領域オンオフの利用.
0091 オンで、SLP起動.:本プログラムの実行停止処理
0092 オフで、GO TO 010. :本プログラムには論理矛盾は起きていない
010 同期関数に戻る為に次の処理を行う
0101 パレット4の第7フラグオンのベクトルを全て初期値化する.
0102 スタック更新プログラムの起動.
011 同期関数にRETURN.
座標関数2のログラム模型を以下に示す。
001 START.
002 パレット2の搭載順位1(i=1)のベクトルを指定.:座標周期2の始まり
003 指定された搭載順位(i)のベクトルを起動.
004 ここは起動したベクトルのRETURN点である.
005 命令破壊信号(OS)の有無判定.
0051 有りで、SEP起動.:本プログラムの実行を停止
0052 なしで、GO TO 006.
006 起動する次のベクトルを指定(i=i+1).
007 (i)はパレット2のベクトルの搭載数(N2)を超えたか.
0071 超えていれば GO TO 008.
0072 超えていなければ GO TO 003.
008 パレット2の臨界の成否判定.:T2の第4領域のオンオフを利用
0081 オフなら GO TO 002.
0082 オンなら GO TO 009.:座標周期2の終了
009 論理矛盾発症の有無を判定:E42の第4領域オンオフの利用.
0091 オンで、SLP起動.:本プログラムの実行停止処理
0092 オフで、GO TO 010. :本プログラムには論理矛盾は起きていない
010 同期関数に戻る為に次の処理を行う
0101 パレット2の第7フラグオンのベクトルを全て初期値化する.
011 同期関数にRETURN.
座標関数3のプログラム模型を以下に示す。
001 START.
002 パレット3の搭載順位1(i=1)のベクトルを指定.:座標周期3の始まり
003 指定された搭載順位(i)のベクトルを起動.
004 ここは起動したベクトルのRETURN点である.
005 命令破壊信号(OS)の有無判定.
0051 有りで、SEP起動.:本プログラムの実行を停止
0052 なしで、GO TO 006.
006 起動する次のベクトルを指定(i=i+1).
007 (i)はパレット2のベクトルの搭載数(N3)を超えたか.
0071 超えていれば GO TO 008.
0072 超えていなければ GO TO 003.
008 パレット3の臨界の成否判定.:T2の第4領域のオンオフを利用
0081 オフなら GO TO 002.
0082 オンなら GO TO 009.:座標周期5の終了
009 論理矛盾発症の有無を判定:E42の第4領域オンオフの利用.
0091 オンで、SLP起動.:本プログラムの実行停止処理
0092 オフで、GO TO 010. :本プログラムには論理矛盾は起きていない
010 同期関数に戻る為に次の処理を行う
0101 パレット3の第7フラグオンのベクトルを全て初期値化する.
011 同期関数にRETURN
001 START.
002 スタック初期値化プログラム起動.
003 本プログラムの終了判定.:E41の第4領域のオンオフを利用
0031 オンなら、GO TO 004.:本プログラム終了処理
0032 オフなら、GO TO 005.:本プログラムの始動
004 SEP起動.:Systm Ending Program(本プログラム終了プログラム)
005 T31第4領域のオンオフ判定.:自分の座標関数4の起動
0051 オンなら.T31第4領域をオフにする.
0052 自分の座標関数4を起動.
0053 オフならGO TO 006.
006 T32第4領域のオンオフ判定.:最近傍下位の座標関数4を起動
0061 オンなら.T32第4領域をオフにする.
0062 最近傍下位の座標関数4を起動.
0063 オフなら、GO TO 007.:最近傍下位の座標関数4がなければオフ。
007 T33第4領域のオンオフ判定.:最上位の座標関数3の起動
0071 オンなら.T33第4領域をオフにする.
0072 最上位の座標関数3を起動.
0073 オフなら、GO TO 008.:最上位の座標関数3がなければオフ。
008 T4第4領域のオンオフ判定.:自分の座標関数2の起動
0081 オンなら.T4第4領域をオフにする.
0082 自分の座標関数2を起動.
0083 オフなら、GO TO 009.:自分の座標関数3の起動。
009 T2第4領域のオンオフ判定.:自分の座標関数3の起動
0091 オンなら.T2第4領域をオフにする.
0092 自分の座標関数3を起動.
0093 オフなら、GO TO 010.
010 T32第4領域のオンオフ判定.:隣下の座標関数4の起動
0101 オンなら.T32第4領域をオフにする.
0102 隣下の座標関数4を起動.
0103 オフなら、GO TO 011.
011 T33第4領域のオンオフ判定.:最上位の座標関数3の起動
0111 オンなら.T33第4領域をオフにする.
0112 最上位の座標関数3を起動.
0113 オフなら、GO TO 0052.
012 END.
制御ベクトルの論理結合型模型を2例ベクトルに置き換える。他の制御ベクトルも置き換え方は同じである。論理結合型模型の制御ベクトルをベクトル型模型に変換する原型はL4.Aである。このベクトルの命令文はスタッツクを採ることである。スタックを採る命令文は第2規約に置かれる。E41,P4にはL3がない。次にプログラム模型を示す。
001 START.
002 NOP.
003 CALL VWA(E41,P4).
004 第1規約:E41,P4の正統性を用いて第2規約に進むか、RETURNかを判定。
*ベクトルの正統性項参照
005 第2規約
0051 MOVE 1 TO 第2フラグ.
0052 主語成立数スタックからNS1を採る.
0053 主語成立数スタックからNS5を採る.
006 第3規約:(NS1)=(NS5)の判定.
0061 YESならGOTO 第4規約.
0062 NOならGOTO 第5規約.
007 第4規約。
0071 MOVE 0 TO E41,P4の第6フラグ.
0072 MOVE A TO E41,P4の第4領域.
0073 ADD 1 TO 主語成立数カウンタ.
008 RETURN.
009 第5規約:E41,P4が同じ座標周期で成立するや否やの判定。
0091 MOVE 0 TO 第6フラグ.
0092 (NS1=NS5)ならGOTO 第7規約.
0093 (NS1>NS5)ならGOTO 第6規約.
010 第6規約:E41,P4の再起要請の宣言。
0101 E41,P4の第4領域を初期値化.
0102 MOVE 1 TO 第6フラグ.
0103 MOVE 0 TO 第2フラグ.
0104 RETURN.
011 第7規約:E41,P4の再起停止宣言。
0111 MOVE 1 TO 第7フラグ.
0112 MOVE 0 TO 第2フラグ.
0113 RETURN.
このベクトルの命令文はスタッツクを採ることである。スタッツクを採る命令文は第2規約に置かれる。T33,P3にはL3がない。次にプログラム模型を示す。
001 START.
002 NOP.
003 CALL VWA(T33,P3).
004 第1規約:T33,P3の正統性を用いて第2規約に進むか、RETURNかを判定。
*ベクトルの正統性項参照
005 第2規約 T33,P3の成立判定の準備:
0051 MOVE 1 TO 第2フラグ.
0052 パレット3の第6フラグ列の作成.
0053 パレット3の第6フラグ列常数の作成.
006 第3規約:T33,P3の成立判定。
0061 P3の臨界判定。
00611 パレット3の第6フラグ列と第6フラグ列常数のXOR(第1条件).
00612 XORがZEROならGOTO 0062.
00613 XORがNOT ZEROなら第5規約.
0062 主語分布表(図13)を用いて行う判定。
00621 主語は隣上の本プログラムにも内在するか(第2条件)
00622 YESならGOTO 第4規約.
00623 NOならGOTO RETURN.
007 第4規約。
0071 MOVE 0 TO T33,P3の第6フラグ.
0072 MOVE A TO T33,P3の第4領域.
0073 ADD 1 TO 主語成立数カウンタ.
008 RETURN.
009 第5規約:P3の臨界が同じ座標周期で成立するや否やの判定。
0091 MOVE 0 TO 第6フラグ.
0092 (NS1>NS5)ならGOTO 第6規約.
0093 (NS1>NS5)でなければGOTO 第7規約.
010 第6規約:E41,P4の再起要請の宣言。
0101 T33,P3の第4領域を初期値化.
0102 MOVE 1 TO 第6フラグ.
0103 MOVE 0 TO 第2フラグ.
0104 RETURN.
011 第7規約:T33,P3の再起停止宣言。
0111 MOVE 1 TO 第7フラグ.
0112 MOVE 0 TO 第2フラグ.
0113 RETURN.
001 START.
002 主語成立数カウンタがゼロならスタックを初期値化:スタック初期値化プログラムを起動
003 RETURN.
004 主語成立数カウンタがゼロでなく、NS1、2,3,4ゼロなら
005 主語成立数カウンタをNS1に上書.
006 RETURN.
007 主語成立数カウンタがゼロでなく、NS2,3,4ゼロなら
008 NS1をNS2に上書.
009 主語成立数カウンタをNS1に上書.
010 RETURN.
011 主語成立数カウンタがゼロでなく、NS3,4ゼロなら
012 NS1をNS2に上書.
013 NS2をNS3に上書.
014 主語成立数カウンタをNS1に上書.
015 RETURN.
016 主語成立数カウンタがゼロでなく、NS4がゼロなら
017 NS1をNS2に上書.
018 NS2をNS3に上書.
019 NS3をNS4に上書.
020 主語成立数カウンタをNS1に上書.
021 RETURN.
022 主語成立数カウンタがゼロでなく、全NSがゼロでないなら
023 NS1をNS2に上書.
024 NS2をNS3に上書.
025 NS3をNS4に上書.
026 NS4をNS5に上書.
027 主語成立数カウンタをNS1に上書.
028 RETURN.
本スタック情報を利用する主語ベクトルの第5規約(NS1>NS5)、制御ベクトルE41(NS1=NS5)、E42(NS1<NS5)の為に、本プログラムを同期周期の開始点で起動(CALL)する。次にプログラム模型を示す。
001 START.
002 NS5に1をセット.
003 NS4をゼロクリア.
004 NS3をゼロクリア.
005 NS2をゼロクリア.
006 NS1をゼロクリア.
007 主語成立数カウンタをゼロクリア.
008 RETURN.
Claims (34)
- 実行状態にあるプログラムの為の所定の記憶領域が何らかの理由で前記プログラムについての意図に反する反意図情報に汚染されると前記汚染を自力で捉える為の汚染把握機構と、
前記汚染把握機構にて捉えられた汚染を自力で除染する為の除染機構と、
前記記憶領域を正常状態に自動回復させる為の正常状態回復機構と
を前記プログラムに成立させることを可能にするプログラムの定義構造。 - 前記汚染把握機構は第1乃至第7の規約を有するベクトルの構造を持つ、請求項1記載のプログラムの定義構造。
- 前記除染機構は前記ベクトルを初期値化する為の初期化機構を持つ、請求項1記載のプログラムの定義構造。
- 前記除染機構は前記汚染が把握された前記反意図情報が該反意図情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化する、請求項3記載のプログラムの定義構造。
- 前記ベクトルは前記汚染把握機構及び/もしくは前記除染機構に対して最適の時宜を付与する構造を持つ、請求項3もしくは4記載のプログラムの定義構造。
- 前記正常状態回復機構は前記プログラムに成立させる再起機構を持つ、請求項1乃至5のうち1項記載のプログラムの定義構造。
- 前記汚染把握機構に係る前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、
前記汚染把握機構は前記第2、第6、第7のフラグと前記第4領域との相対関係を判定する3種フラグ・第4領域相対関係判定機構を有する、請求項1乃至6のうち1項記載のプログラムの定義構造。 - 前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定する為の第4領域脈略正統性判定機構をさらに備える、請求項2記載のプログラムの定義構造。
- 前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をする第4領域脈略成否予測機構をさらに備える、請求項2記載のプログラムの定義構造。
- 前記プログラムに係るOSでは捉えられない命令汚染を捉える命令汚染把握機構をさらに備える、請求項1乃至9のうち1項記載のプログラムの定義構造。
- OS(オペレーションシステム)上で起動される動作プログラムもしくは該動作プログラムに係るデータ領域に侵入するウイルスの起こし得る問題をプログラム構造として解法するためのウイルス自律的解法プログラム定義構造であって、
主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット4の臨界状態が達成されるまで循環する構造を有する座標関数4と、
主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット2の臨界状態が達成されるまで循環する構造を有する座標関数2と、
主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット3の臨界状態が達成されるまで循環する構造を有する座標関数3と、
前記パレット4が臨界状態になれば前記パレット2に、前記パレット2が臨界状態になれば前記パレット3に、前記パレット3が臨界状態になれば前記主語を成り立たせるための変数主語の第4領域の所在に応じて最上ランクに係る座標関数3、同一ランク係る座標関数4、1層下層ランク係る座標関数4のいずれかに制御を移す同期関数と
を有することを特徴とするプログラムの定義構造。 - 前記ベクトルは、
前記データ領域が何らかの理由で汚染されると前記汚染を自力で捉える為の汚染把握機構と、
前記汚染把握機構にて捉えられた汚染を自力で除染する為の除染機構と、
前記記憶領域を正常状態に自動回復させる為の正常状態回復機構と
を具備する、請求項11記載のプログラムの定義構造。 - 前記ベクトルは第1乃至第7の規約を有する、請求項11もしくは12記載のプログラムの定義構造。
- 前記除染機構は前記ベクトルを初期値化する為の初期化機構を持つ、請求項12もしくは13記載のプログラムの定義構造。
- 前記除染機構は前記汚染が把握された前記反意図情報が該反意図情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化する、請求項14記載のプログラムの定義構造。
- 前記ベクトルは前記汚染把握機構及び/もしくは前記除染機構に対して最適の時宜を付与する構造を持つ、請求項12乃至15のうち1項記載のプログラムの定義構造。
- 前記正常状態回復機構は前記プログラムに成立させる再起機構を持つ、請求項12乃至16のうち1項記載のプログラムの定義構造。
- 前記汚染把握機構に係る前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、
前記汚染把握機構は前記第2、第6、第7のフラグと前記第4領域との相対関係を判定する3種フラグ・第4領域相対関係判定機構を有する、請求項12乃至17のうち1項記載のプログラムの定義構造。 - 前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定する為の第4領域脈略正統性判定機構をさらに備える、請求項13記載のプログラムの定義構造。
- 前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をする第4領域脈略成否予測機構をさらに備える、請求項13記載のプログラムの定義構造。
- 前記プログラムに係るOSでは捉えられない命令汚染を捉える命令汚染把握機構をさらに備える、請求項11乃至20のうち1項記載のプログラムの定義構造。
- 前記座標関数を切り替える為に用いるパレットの臨界状態を捉えるパレット臨界状態把握機構をさらに備える、請求項11乃至20のうち1項記載のプログラムの定義構造。
- 請求項1乃至22のうち1項記載のプログラムの定義構造が記憶された記憶媒体。
- 請求項1乃至22のうち1項記載のプログラムの定義構造が装置の部品として機能する、ウイルス自律的解法装置。
- 実行状態にあるプログラムの為の所定の記憶領域が何らかの理由で前記プログラムについての意図に反する反意図情報に汚染されると前記汚染を自力で捉え、
前記捉えられた汚染を自力で除染し、
前記記憶領域を正常状態に自動回復させる
ことを特徴とするウイルス自律的解法方法。 - 前記汚染をとらえるのは第1乃至第7の規約を有するベクトルの構造を持つことによってなる、請求項25記載のウイルス自律的解法方法。
- 前記除染は前記ベクトルを初期値化する為の初期化機構によって行う、請求項26記載のウイルス自律的解法方法。
- 前記除染は前記汚染が把握された前記情報が該情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化する、請求項27記載のウイルス自律的解法方法。
- 前記ベクトルは前記汚染及び/もしくは前記除染に対して最適の時宜を付与する構造を持つ、請求項27もしくは28記載のウイルス自律的解法方法。
- 前記正常状態への自動回復は前記プログラムに成立させる再起機構によって行う、請求項25乃至29のうち1項記載のウイルス自律的解法方法。
- 前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、
前記汚染をとらえるのは前記第2、第6、第7のフラグと前記第4領域との相対関係を判定することによる、請求項25乃至30のうち1項記載のウイルス自律的解法方法。 - 前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定をさらに行う、請求項26記載のウイルス自律的解法方法。
- 前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をさらに行う、請求項26記載のウイルス自律的解法方法。
- 前記プログラムに係るOSでは捉えられない命令汚染を捉えることをさらに行う、請求項26乃至33のうち1項記載のウイルス自律的解法方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017107035A RU2017107035A (ru) | 2014-08-04 | 2015-03-03 | Структура определения программы, автономно нейтрализующей вторгшийся вирус, программа, имеющая указанную структуру, носитель данных, на котором инсталлирована указанная программа, а также метод и аппарат, автономно решающие проблему вирусов |
JP2015514699A JP6086977B2 (ja) | 2014-08-04 | 2015-03-03 | 本来の業務処理を正統な主語の脈略として成立させるための手順をコンピュータに実行させるシナリオ関数として規定されるプログラム |
EP15830613.4A EP3179402A4 (en) | 2014-08-04 | 2015-03-03 | Definition structure of program for autonomously disabling invading virus, program equipped with structure, recording medium installed with program, and method/device for autonomously solving virus problem |
CN201580053486.8A CN107077564A (zh) | 2014-08-04 | 2015-03-03 | 自主使入侵病毒失效的程序定义结构、及具备此结构的程序、安装此程序的存储介质、以及自主消除病毒问题的方法和装置 |
US15/423,481 US10235522B2 (en) | 2014-08-04 | 2017-02-02 | Definition structure of program for autonomously disabling invading virus, program equipped with structure, storage medium installed with program, and method/device for autonomously solving virus problem |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014158612 | 2014-08-04 | ||
JP2014-158612 | 2014-08-04 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/423,481 Continuation-In-Part US10235522B2 (en) | 2014-08-04 | 2017-02-02 | Definition structure of program for autonomously disabling invading virus, program equipped with structure, storage medium installed with program, and method/device for autonomously solving virus problem |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016021220A1 true WO2016021220A1 (ja) | 2016-02-11 |
Family
ID=55263507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/056268 WO2016021220A1 (ja) | 2014-08-04 | 2015-03-03 | 侵入したウイルスを自律的に無力化するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10235522B2 (ja) |
EP (1) | EP3179402A4 (ja) |
JP (4) | JP6086977B2 (ja) |
CN (1) | CN107077564A (ja) |
RU (1) | RU2017107035A (ja) |
WO (1) | WO2016021220A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018230471A1 (ja) * | 2017-06-13 | 2018-12-20 | ロゴヴィスタ株式会社 | ウィルスの監視プログラム |
WO2021124411A1 (ja) * | 2019-12-16 | 2021-06-24 | 根来 文生 | 論理結合型プログラムが実行時に発生する非同期型アルゴリズムの正統性の検証を実施可能にする方法 |
JP7174468B1 (ja) * | 2022-06-13 | 2022-11-17 | 文生 根来 | ウイルス侵入されたプログラムがプログラム自身でウイルスデータを排除できるプログラム開発方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003108253A (ja) * | 2001-09-28 | 2003-04-11 | Hitachi Software Eng Co Ltd | アプリケーションの監視方法およびプログラム |
WO2005029322A1 (ja) * | 2003-09-22 | 2005-03-31 | Catena Corporation | ソフトウェアの生成方法 |
JP2011525650A (ja) * | 2008-06-12 | 2011-09-22 | メタフォリック リミテッド | コンピュータプログラムコードを保護する方法 |
JP2013164732A (ja) * | 2012-02-10 | 2013-08-22 | Isis Asset Co Ltd | 情報処理装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100684986B1 (ko) | 1999-12-31 | 2007-02-22 | 주식회사 잉카인터넷 | 온라인상에서의 실시간 유해 정보 차단 시스템 및 방법 |
US9525696B2 (en) * | 2000-09-25 | 2016-12-20 | Blue Coat Systems, Inc. | Systems and methods for processing data flows |
US20040054637A1 (en) * | 2000-11-24 | 2004-03-18 | Fumio Negoro | Software synchronous specifying method, validating method, verifying method and testing method |
KR20040089386A (ko) * | 2003-04-14 | 2004-10-21 | 주식회사 하우리 | 메모리를 감염시키는 바이러스의 치료방법, 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체 및 바이러스의치료장치 |
KR20050053401A (ko) * | 2003-12-02 | 2005-06-08 | 주식회사 하우리 | 컴퓨터 바이러스 방역방법과 그 프로그램을 기록한 기록매체 |
US8572371B2 (en) * | 2005-10-05 | 2013-10-29 | Ca, Inc. | Discovery of kernel rootkits with memory scan |
US8099785B1 (en) * | 2007-05-03 | 2012-01-17 | Kaspersky Lab, Zao | Method and system for treatment of cure-resistant computer malware |
US9536089B2 (en) * | 2010-09-02 | 2017-01-03 | Mcafee, Inc. | Atomic detection and repair of kernel memory |
JP6443651B2 (ja) | 2012-05-21 | 2018-12-26 | 金村 貴康 | 電子機器の記憶装置格納データの削除システム |
-
2015
- 2015-03-03 JP JP2015514699A patent/JP6086977B2/ja active Active
- 2015-03-03 EP EP15830613.4A patent/EP3179402A4/en not_active Withdrawn
- 2015-03-03 WO PCT/JP2015/056268 patent/WO2016021220A1/ja active Application Filing
- 2015-03-03 CN CN201580053486.8A patent/CN107077564A/zh active Pending
- 2015-03-03 RU RU2017107035A patent/RU2017107035A/ru not_active Application Discontinuation
- 2015-08-17 JP JP2015160560A patent/JP5992079B2/ja active Active
- 2015-10-08 JP JP2015200064A patent/JP2016035762A/ja active Pending
-
2017
- 2017-02-02 US US15/423,481 patent/US10235522B2/en active Active
-
2019
- 2019-10-21 JP JP2019192265A patent/JP6917072B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003108253A (ja) * | 2001-09-28 | 2003-04-11 | Hitachi Software Eng Co Ltd | アプリケーションの監視方法およびプログラム |
WO2005029322A1 (ja) * | 2003-09-22 | 2005-03-31 | Catena Corporation | ソフトウェアの生成方法 |
JP2011525650A (ja) * | 2008-06-12 | 2011-09-22 | メタフォリック リミテッド | コンピュータプログラムコードを保護する方法 |
JP2013164732A (ja) * | 2012-02-10 | 2013-08-22 | Isis Asset Co Ltd | 情報処理装置 |
Non-Patent Citations (3)
Title |
---|
RYUTARO YAGUCHI: "Lyee no Nazo ni Semaru", NIKKEI COMPUTER, no. 567, 10 February 2003 (2003-02-10), pages 158 - 165, XP008185673 * |
See also references of EP3179402A4 * |
TAKESHI UMEZU: "Self-Protecting Software Enters Commercialization Phase", NIKKEI ELECTRONICS, no. 1081, 30 April 2012 (2012-04-30), pages 115 - 121, XP008185672 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018230471A1 (ja) * | 2017-06-13 | 2018-12-20 | ロゴヴィスタ株式会社 | ウィルスの監視プログラム |
WO2021124411A1 (ja) * | 2019-12-16 | 2021-06-24 | 根来 文生 | 論理結合型プログラムが実行時に発生する非同期型アルゴリズムの正統性の検証を実施可能にする方法 |
JP7174468B1 (ja) * | 2022-06-13 | 2022-11-17 | 文生 根来 | ウイルス侵入されたプログラムがプログラム自身でウイルスデータを排除できるプログラム開発方法 |
WO2023242901A1 (ja) * | 2022-06-13 | 2023-12-21 | 文生 根来 | ウイルス侵入されたプログラムがプログラム自身でウイルスデータを排除できるプログラム開発方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2016042361A (ja) | 2016-03-31 |
CN107077564A (zh) | 2017-08-18 |
US10235522B2 (en) | 2019-03-19 |
JP6086977B2 (ja) | 2017-03-01 |
RU2017107035A3 (ja) | 2019-09-26 |
EP3179402A4 (en) | 2018-03-28 |
JP6917072B2 (ja) | 2021-08-11 |
JP2020024735A (ja) | 2020-02-13 |
JPWO2016021220A1 (ja) | 2017-04-27 |
JP5992079B2 (ja) | 2016-09-14 |
EP3179402A1 (en) | 2017-06-14 |
JP2016035762A (ja) | 2016-03-17 |
RU2017107035A (ru) | 2018-09-06 |
US20170213029A1 (en) | 2017-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6917072B2 (ja) | 実行状態にあるプログラムの記憶領域が当該プログラムの本来の意図に反する情報に汚染された場合に当該汚染を除染するための方法及びプログラム | |
JP5536518B2 (ja) | システムの自然言語仕様から当該システム用のシステム・モデル化メタモデル言語モデルを自動的に抽出するための方法、装置及びコンピュータ・ | |
Condoravdi et al. | Entailment, intensionality and text understanding | |
Sadoun et al. | From natural language requirements to formal specification using an ontology | |
Uszkoreit | Strategies for adding control information to declarative grammars | |
Noyrit et al. | Consistent modeling using multiple uml profiles | |
Herburger | Focus and the LF of NP quantification | |
Kozlenkov et al. | Are their design specifications consistent with our requirements? | |
Kumar et al. | Static UML model generator from analysis of requirements (SUGAR) | |
JP5807831B2 (ja) | 自律型問題解決機 | |
Palmirani et al. | Modelling temporal legal rules | |
WO2021124411A1 (ja) | 論理結合型プログラムが実行時に発生する非同期型アルゴリズムの正統性の検証を実施可能にする方法 | |
Allen | Learning a lexicon for broad-coverage semantic parsing | |
Araszkiewicz et al. | Identification of contradictions in regulation | |
Cahill | Parsing with Automatically Acquired, Wide-Coverage, Robust, Probabilistic LFG Approximations | |
Lima et al. | Information extraction from the web: an ontology-based method using inductive logic programming | |
Palshikar et al. | Extraction of message sequence charts from software use-case descriptions | |
Cussens et al. | Experiments in inductive chart parsing | |
Delmonte | Deep & shallow linguistically based parsing | |
Carroll et al. | Grammar compaction and computation sharing in automaton-based parsing | |
Mott et al. | Natural language fact extraction and domain reasoning using controlled english | |
JP5828437B2 (ja) | 自律型処理手順生成および実行機 | |
Kof | On the identification of goals in stakeholders’ dialogs | |
Hershcovich et al. | Comparison by conversion: Reverse-engineering UCCA from syntax and lexical semantics | |
Yordanova et al. | Knowledge extraction from task narratives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2015514699 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15830613 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2015830613 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015830613 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017107035 Country of ref document: RU Kind code of ref document: A |