WO2016021220A1 - 侵入したウイルスを自律的に無力化するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置 - Google Patents

侵入したウイルスを自律的に無力化するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置 Download PDF

Info

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
Application number
PCT/JP2015/056268
Other languages
English (en)
French (fr)
Inventor
根来 文生
Original Assignee
根来 文生
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 根来 文生 filed Critical 根来 文生
Priority to RU2017107035A priority Critical patent/RU2017107035A/ru
Priority to JP2015514699A priority patent/JP6086977B2/ja
Priority to EP15830613.4A priority patent/EP3179402A4/en
Priority to CN201580053486.8A priority patent/CN107077564A/zh
Publication of WO2016021220A1 publication Critical patent/WO2016021220A1/ja
Priority to US15/423,481 priority patent/US10235522B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test 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

侵入したウイルスを自律的に無力化するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置
 本発明はプログラムの構造論に係り、特に、コンピュータウイルス(以下、単に「ウイルス」ともいう。)問題を自律的に解法するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置に関する。
 プログラム問題は、従来のプログラムの本質的な危うさに於いて、コンピュータウイルス問題に限らず、既に利便性の向上という観点だけでは、その品質の悪さ、開発維持のわずらわしさと費用の高騰化で弁明しきれない状況になっている。
 周知の通り、プログラムはその効果の利便性の裏面で、ソフト危機と呼ばれる様相、に晒されている。
 このような現状にありながら、プログラム開発維持の実状は、改善の志さえ排除される様な魔物化状態にある。更に、コンピュータウイルス(以下、単に「ウイルス」ともいう。)の発生はコンピュータ社会をひとたまりもなく崩壊させることができる潜在力を有し、且つ誰もこの問題を解法できないという点で、この分野の足元がすくわれた状況になっている。これまでの様にソフト危機の問題を真摯に解法せずとも効果の利便性に事寄せてやり過ごせた様なわけには行かなくなったのである。
これ迄はソフト危機の問題を真摯には解法せずに、利便性の一点で、強力な体制による強制的規格化(プロクルースチン・ベッド)がこの分野の技術者、研究者、利用者、要するにこの分野の殆どのひとびとを人類規模で牛耳って来た。
結果的に、プログラム問題の解法の重要性に気付かない人々がプログラム問題を魔物化させている様に、ウイルス問題に対しても現状の施策はこれと同じであって、ウイルスの侵入を入口で阻む(ウイルス・バスター)、という発想に終始している。ウイルス問題の怖さはその才能を持つウイルス創作者なら誰もが密かにそして、決して所在を悟られない様に、ウイルス作成に参画できることである。即ち、その深刻さは量的問題に化けることである。
ウイルス問題に関し、これまでは、プログラムが存在する限り,プログラムへの侵入は阻止することができないと考えられているが、その考えを改めて、ウイルスに侵入されたプログラムが自力でウイルスを無力化する方法を見つける以外に人類はウイルス問題を克服することができない。
 こういった問題に対して現在存在するウイルス対応商品群(以下単に、「商品群」ともいう。)はプログラムへのウイルス侵入をその手前で阻止するという考えによっている。すなわち、商品群がよって立つ地盤は、密かに入手したウイルスタグ、違法的な情報分析侵入残骸の解析をする等をしなければ成立しないものである。ウイルスの完全な侵入の完全阻止などはあり得ない。すなわち、本質的に、現行の商品群の施策ではウイルス問題に対して本質的な解法にはなり得ない。
 本願は上記のように誤った方向に進化してきたウイルス侵入問題への本来的対処を真剣に考察しようとするものであるという点で、本願に有効な先行技術となるものは存在しない。したがって、下記にはこれまでウイルス問題に対してとってこられたという意味での共通項を有するものを挙げてある。
特開2013-243864号公報 特開2012-234579号公報
本来、進化したウイルスなら1個のウイルスで電子計算機システムを瓦解させることが可能となってしまうことを鑑みれば、ウイルスは1個でもプログラムに侵入させてはならない、というのがウイルス問題に対する正しい認識であるべきである。
換言すれば、この点がウイルス問題解法の絶対条件である。
したがって、ウイルス問題の解法は、現状のウイルス・バスター的なアイデアでは成就できない。即ち、その為の解法の原理を発見しなければ、ウイルス問題は解法することができない。
 本発明は、こうした従来技術の問題点を解決するもので、コンピュータウイルス問題に対する根本的な解法を与えること、すなわち、ウイルス問題を自律的に解法するプログラムの定義構造及び同構造を備えたプログラム、同構造を搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法を提供することを目的とする。
かかる目的を達成するために、本発明は、これまでにない新たなアプローチによってウイルス問題への解法(すなわち本質的な解決)を与えるものである。以下、本発明を具体的に説明するために、次のような順を追って説明を進める。
A.課題の解法に至る経緯
B.ウイルス問題の捉え方
C.本願独自の方法論の構築
(A.課題の解決に至る経緯)
本発明に至る研究は、叙述法を改善すればソフト危機は解法できるとの仮説に基づき、本発明者が1973年から開始したのが嚆矢である。本研究前段の15年間は、プログラムの本質を考える為に世界の知見(論文)の収集と様々な分野の数百本に及ぶプログラムの動性分析が行われた。プログラムの動性分析はプログラムの良い静的定義(ソースコード)を見出す為には、不可欠となる。プログラムに限らず、動性体の良い静的定義を行う為には、その動性を良く知ることが重要である。
しかし、この分野ではプログラムの動性分析は、当時から今日に至るも十分には行われていない。因みに、図12は本研究が捉えたプログラムの動性の様相を示している。本図は世界で初めてのものである。プログラムの動性に関する図12の光景を観ずして、プログラム言語、OS,応用プログラムの良い設計の在り方が議論できる筈はないと考える。本発明者にはプログラムの動性分析が行われた15年間は、プログラムに関するわれわれの叙述の仕方が真摯に論考できた時期であったといえる。
われわれ人間が考えることは自分で意識することはできる。しかし、それを文字や言葉に変える直前の生命状態は場合には、ひらめき的に自覚することがあっても、正確にはその状態は不明である。本発明に至る研究においてはこの生命的状態が叙述を決める仕組になっていると考えた。この上で、その形而上学的模型が論考され仮説された。この形而上学的模型は「調和構造」と名付けられる。そして、「自覚関数」として叙述された。図12を導くアルゴリズムの起源は自覚関数の解として求められたものである。自覚関数はプログラムの知見を用いて、プログラムとして解釈し直された。そして、そのプログラムはシナリオ関数と呼ばれることになった。
シナリオ関数は他に例のないプログラムの叙述法になっている。シナリオ関数は、「名詞を主語化し、且つそれを脈略する仕組」として成立している。付言すれば、プログラムに限らず、われわれがするどの様な振る舞いも、自覚関数がその模型であると結論付けられる。
調和構造の最小単位は存在論の実在に対応付けられている。実在は実体と属性とで定義される。シナリオ関数では実在の識別子は最小クラスの名詞、実在の実体は名詞の内容、名詞の内容が主語、属性は主語化される名詞の集合として解釈された。自覚関数の段階で、その定義叙述には複写性の成立することが感得された。因みにプログラムの複写性とは、「プログラム言語とプログラム仕様に属す名詞の名称、名称の数、主語化する記憶が同じであれば、そのプログラムのソースコードは誰が作成しても複写機で複写された様に一致する」ことをいう。
シナリオ関数(の原型)は本研究を始めて23年後の1996年に求められた。以上のことは本研究の論文などで公開されている。シナリオ関数の構想の基本部分は1999年から日米欧で特許されている。シナリオ関数は日本ではこれ迄36個の開発プロジェクトで使用されている。その後もシナリオ関数の特質が解析され、2009年には、従来のプログラムでは解法することができない以下の問題がシナリオ関数では方法論として成立することが検証された。
(1)複写性の成立
(2)意味の仕組を捉える自動化アルゴリズム(意味の仕組)の発見
(3)プログラムの自動生成の仕組
(4)プログラム保守作業の自動対応の仕組
(5)品質概念の消滅
プログラムをプログラム言語の観点でしか捉えることができなくなったこの四半世紀のプログラム作成の在り方はプログラム問題の解法を放棄して来た証しでもあった。プログラムが叙述物であるということに於いて、その作成には叙述法(方法論)が不可欠である。プログラムの叙述法は複写性が成立させられるプログラムの基で成立する。
(B.ウイルス問題の捉え方)
ここで、ウイルス問題に対して考察を深める。ウイルス問題の解の求め方には以下の考え方がある。
(1) ウイルスがプログラムに侵入する前に阻止する。
(2) 上記1に公権力を加えてウイルス問題を犯罪化して排除する。
(3) ウイルス問題を侵入されるプログラム(侵入媒体)に解法させる。
ウイルスの侵入方法は、原理上、稼動中のプログラムの命令の数だけあることになる。世界中でどれだけの命令が稼動しているかは別として、把握しきれないほどの大変な数の命令が動いている状態にあるのが現状である。
ウイルスの侵入を阻止するという、上記(1)(2)の考えではまともな考えとはいえない。これらは、ソフト危機のプログラム問題が解法に至ることができなかった様に、ウイルス問題の部分的解決に止まり、混乱に拍車を掛ける以外の何物でもない。本質的にウイルス問題はプログラム作成法の欠陥(この点については後述する)による技術上の単純問題であるにも関わらず、その元責任を問うことをせずに、単にウイルスを作るな、作れば公権力で罰する、とする考えでは本質的にこの問題を解決することにはならないことは自明である。換言すれば、ウイルスの侵入の阻止ではウイルス問題は解法すること(根本的な解決策を与えること)が不可能であるといえる。既述の様に、ウイルスは1組のウイルスで電算機システムを瓦解することができてしまう。完全な侵入阻止が不可能な技術も、同じ様に排除しなければ意味がない。したがって、上記(1)、(2)の解決方法ではウイルス問題は解法され得ない。
 となると、ウイルス問題の解は完璧にウイルスを無力化する最終解でなければ意味がないことになる。したがって、残された解の求め方は上記(3)しかなく、これにより、最終解を求めなければならない、ということが論理的帰結である。
(C.本願独自の方法論の構築)
 本発明では、ウイルスの無力化が狙点である。本発明では解法という言葉がしばしば登場するが、これは解決という言葉と語彙を区別する為に採用した語句である。即ち、本発明では「解法」とは問題を原理的に抹消すること、「解決」とは本来的には封印できない問題を臨床的に封印することを意味するものとして用いる。
 翻って、ウイルス問題とは電算機システムに生じるウイルスによる悪影響のこと一般を意味する語句である。ウイルスとは実行型のプログラムである。ウイルスは何らかの方法で稼動中のプログラムに宿る為に侵入する。ウイルスが宿るとプログラムは汚染される。プログラム汚染はウイルス意図とは無関係なウイルス現象である。ウイルス汚染は記憶領域を共用し、同期的に稼働する他のプログラムにも波及することになる。他方、ウイルス症状とはウイルスが意図的に発症させるウイルス現象である。
 侵入媒体がウイルスの実体を捉えることはできない。ウイルス症状は、譬え、それを知ったとしても、後の祭りとなってしまう、というのが本質である。換言すれば、ウイルス症状の様子を知った所で解法には何の役にも立たず、また、ウイルス症状は汚染後に現れる。即ち、汚染と症状は発症のタイミングが異なる、ということになる。
ウイルス問題とは電算機システムに生じるウイルスによる汚染の悪影響のことである。ウイルス問題の解法はウイルスを除くことではなく、侵入を阻止することでもない。汚染を自力で除くことをいう。ここでいう電算機システムとはプログラムのことであり、ウイルス意図とはウイルス創作者の決意をいう。
ウイルスはウイルス意図に基づき作成される。ウイルス意図については後述される。ウイルスとは実行型のプログラムのことである。ウイルスは何らかの方法で稼動中のプログラムに宿る為に侵入する。ウイルスが宿るとプログラムは汚染される。本発明ではウイルスに汚染されるプログラムを侵入媒体という。プログラム汚染はウイルス意図とは無関係なウイルス現象である。
プログラム汚染は記憶領域を共用し、同期的に稼働する他のプログラムにも波及する。他方、ウイルス症状とはウイルスが意図的に発症させるウイルス現象である。留意すべきはウイルスの実体を捉えても、ウイルスの侵入の仕方や症状を詳しく知ったとしても、そこからウイルス問題を解法する策が得られる訳ではない、という点である。ウイルス症状は汚染の後に現れる。即ち、汚染と症状は発症の時宜(タイミング)が異なる。
プログラム汚染が生じる理由を以下に示す。
(1)ウイルス侵入をシグナルとして発症する汚染
(2)ウイルス症状を成立させる過程で発症する汚染
(3)ウイルス症状として発症する汚染
プログラム汚染は、結果的に、プログラムの命令文の上書に帰着する。命令文がどの様に上書きされるかは後述する。ウイルス症状とは侵入媒体を基にウイルスが意図的に発症させる現象である。即ち、ウイルス症状とはウイルス意図の現象化である。ウイルス症状例については後述する。侵入媒体はウイルスにはなくてはならないウイルスの寄生木(やどりぎ)である。稼動中のプログラムは全てウイルスの寄生木候補である。ウイルスはそれ自体では成立せず侵入媒体の基でのみ成立する構造をとる。ウイルスによる侵入媒体の汚染はウイルス問題を解法する観点では、ウイルスの不可避的な弱点といえる。本発明ではウイルスによる汚染をその発症させない時宜で本プログラムに生じる叙述矛盾として捉える。そして、除染しそのことによりウイルス問題を解法するものである。
本プログラムに生じる叙述矛盾の起因はウイルスによる汚染であるが、叙述矛盾は本プログラムの構造上に生じる様相として捉えられる。故に、本プログラムが捉える叙述矛盾は起因がウイルス汚染ではあってもウイルス情報に基づくものではない。要約すれば、本プログラムはウイルスを本プログラムに自由に侵入させることでウイルス問題を解法する、ということになる。すなわち、ウイルス意図がなんであれ、ウイルスがどの様に工夫されて作られていても、ウイルスが不可避的に生じさせてしまう侵入媒体となる本プログラムの汚染を本プログラムはウイルス症状を発症さる前段の時宜で、無力化させることにより、症状問題を解法するものである。これは、ウイルスは存在してもその意図が達成できないということになる。「ウイルスを無力化する」との意味はこの点に存在する。結果、本発明ではウイルスに侵入されても、プログラム本業の為の意図は阻害されない、ということになる。
 図1Dは、本発明の研究過程に於ける確立された主たる構想を示す図である。同図に示されるように、ウイルスに侵入されたプログラムがウイルスをどの様に認識するかについて、本発明ではプログラム汚染という概念で捉えることとし、そして、汚染されるプログラムがそれを自力で捉えなければウイルス問題は消滅させることができないと考えた。これはウイルス問題を解法する為の転機となった。2000年のことである。1D-1はそのことを示すものである。解法の構想を実現させる為にはシナリオ関数の特徴を更に深化して捉える必要があった。シナリオ関数の解を求めるアルゴリズムの完全性を求める切口で、2009年に解法の仕組が捉えられた。1D-2はそのことを示すものである。次に、2011年に解法の原理が捉えられた。1D-3はそのことを示すものである。2013年に開放を実現させるプログラムの構造が求められた。1D-4はそのことを示すものである。
(ウイルス意図およびウイルス症状)
ウイルス意図と症状(例)を以下に示す。ウイルス意図は今後進化すると思われるので、水準を分けて示す。
水準1:既存システムの活用化(入出力データの書き換え、DB情報の盗用)
水準2:システムの反乱化(入出力情報の揺動)
水準3:システムの沈黙化(入出力情報の廃棄)
水準4:システム破壊(条件文の破壊)
水準5:システム占拠(ウイルスの起動時宜の制御)
(命令文の汚染の解説)
ウイルスの汚染は結果的にプログラムの命令文の汚染に帰着する。命令文の汚染は命令文の上書き現象に帰着する。命令文の構造が命令文の汚染の内容になる。即ち、以下のようになる。
(1)命令文が使用するデータ領域
(2)命令文の命令コード
(3)命令文が直接使用する定数(定値)
(4)命令文が直接使用する文字列(定置)
データ領域の汚染は同じデータ領域を用いて同期的に稼働している別のプログラム達にも波及する。侵入媒体のどの命令文が汚染されるか、いくつ汚染されるか、命令文のどの部分が汚染されるかは侵入された時宜でそれを観察しなければわからない。本発明ではプログラムに属す命令文が実行されるとき、その命令文が使用するデータ領域の汚染をその命令文を統治する仕組によって観察される仕組になっている。この仕組はベクトルと呼ばれる。
本プログラムでは命令コードの汚染はOSとベクトルE42で捉えられる。OSは命令コードの汚染を命令破壊として捉える。E42は命令破壊を命令コードの汚染として本プログラムに生じる論理矛盾として捉える。論理矛盾は主語成立数のスタックを用いて捉える。その詳細は後述する。定置、定値、領域名の汚染は命令コードの破壊と見做すことができる。OSとプログラム言語とを改善すれば、定置問題は自動回復を可能にする命令破壊として、E42よりも優れた時宜と簡便さで解法することもできる。E42の仕組は電算機の仕組やOS、プログラム言語の改善で代行することは不可能である。本発明ではOSが捉える命令破壊は今後、電算機、OS,プログラム言語の改善で、自動回復できることを示唆している。
(データ領域)
本発明でいうデータ領域の内容とは以下の通りである。
(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年までには、解法されるべき課題であった。
1990年以降、戻るべき途を見失ったと思われるこの分野の暴走の手法は着実にこの分野を未解決問題に埋もれさせ、その状態を内在させて来たものである。この分野が現在足元を掬われているウイルス問題は、この分野が正常化される最後の機会だと考える。本発明では、ウイルス問題をプログラム構造の問題として、これに対する単純明確な解法を示した。この解法の仕方はこの分野がこれ迄何を見落としてきたかを明らかにしいると考える。
プログラムをプログラム言語の観点でしか捉えなくなった1990年代以降の四半世紀のプログラム作成の仕方は、皮肉にも電算機商品の著しい普及を遂げさせたといえる。しかし、その裏面は矛盾に満ちているとしかいいようがない。その最大の問題は専門家が育たなかったことである。例えば、ウイルス問題がプログラムに侵入される前に防止するという暴論が横行するのはその証であるといえる。
翻って考えるに、プログラムは叙述物であることに於いて、その作成には叙述法(方法論)が不可欠だという基本的認識が重要である。プログラムの叙述法は複写性が成立させられるプログラムの基でのみ成立するということにも気付く必要がある。しかし、人材が育たず且つ論理結合型プログラムを基調とする限り、この分野がその様な認識に気付くパラダイムにシフトすることは容易なことではないと考えられる。つまり、論理結合型叙述法の意味を捉えられない宿命的欠陥にも気付く必要がある。この問題は、仮に他の分野では許容できることであったとしてもプログラムではその本数が増えることによって看過できない深刻な事態が生じてしまう、ということにもつながってしまう。
他方、論理結合型のプログラムのこの欠陥故に、宗教、思想、体制の違いを超えて同じ作り方が普及することにも気付く必要がある。故に、たかがプログラムとはいえ、その欠陥が、ウイルス問題で明らかな様に、人類規模の危機を作り出すことになった、という理解も可能なのである。その様なプログラムの人類規模の普及が結果的に人類規模の危機を発症させることになった。この問題を回避する為には意識革命の自己ワクチンが必要である。その為に、プログラムの作り方にルネサンス的改革を示すことが必要である。
(本願に係る課題解決手段の概略)
本願では、実行中のプログラムに侵入するウイルスが発症させるプログラムのデータ領域の汚染はプログラムを本発明のプログラム(以下、「本プログラム」ともいう。)に置き換えると本プログラムでは、その汚染を実行時に発症する叙述矛盾として、本プログラムに関わる如何なる箇所の汚染も例外なく、自律的に捉え且つ其れを自律的に排除して、本プログラムの本業の働きを継続する。そのような本プログラムの定義構造は本願特有の課題解決手段である。
また、本プログラムの構成要素である複数のベクトルの全ての各第1規約で例外なく観察されるベクトルの正統性判定、並びに同第3規約で例外なく観察される主語の正統性判定に於いて、ウイルスによる汚染が関われば、それら判定には叙述矛盾が生じる。その叙述矛盾を捉える仕組は本願特有の課題解決手段である。
 さらに、本プログラムの汚染箇所を自律的に初期値化して汚染を自動的に取り除く仕組(「ウイルス観察アルゴリズム」ともいう。)は本願特有の課題解決手段である。
より根源的には、プログラムは例外なく主語の脈略であるとする捉え方に関する発見を具体化する本プログラムの基盤となる仕組、すなわちシナリオ関数も本願特有の課題解決手段を構成するものである。
また、従来のプログラムの延長では想像ができない主語の脈略(図12)を決定する普遍的な仕組(座標関数、同期関数も含む)が本願特有の課題解決手段を構成するものである。
さらに、本プログラムは正統な主語の脈略を生成する仕組であることに於いて、結果的に、ウイルス情報を一切具備することなくウイルス問題を解法する仕組に帰着するものである。
 また、本プログラムは電算機システムの特別な部分のプログラムではなく全ての分野のどのプログラムにも有効となる。
(本願に係る具体的な課題解決手段)
具体的に、上記課題を解決するために、本発明に係るウイルス自律的解法プログラム定義構造は、実行状態にあるプログラムの為の所定の記憶領域が何らかの理由で前記プログラムについての意図に反する反意図情報に汚染されると前記汚染を自力で捉える為の汚染把握機構と、前記汚染把握機構にて捉えられた汚染を自力で除染する為の除染機構と、前記記憶領域を正常状態に自動回復させる為の正常状態回復機構とを具備する。
 ここで「汚染」とは、プログラムの記憶領域に対して本来の意図されるところに反して情報を変えるすべての行為をいい、改ざん、書き換え、もしくは破壊される態様を含む概念である。
 かかる構造を有することにより、本発明においては、記憶領域に本来望んでいないコンピュータウイルスを含む外部からのデータや命令文が侵入したとしても、それをウイルスの問題としてではなくかかる記憶領域の汚染としてとらえ、しかもかかる侵入を把握した途端に汚染された該記憶領域が自律的に除染される。
 この場合において、前記汚染把握機構は、前記第1の情報領域に関係する論理矛盾を発見する構造とすることができる。この構造によれば、コンピュータウイルスの侵入という、パターン認識手法では限界がある事態を客観的にもれなく把握できるアルゴリズムに置き換えることが可能となる。この場合において、汚染把握機構は第1乃至第7の規約を有するベクトルの構造を持つようにすれば好適である。
 さらに上記の場合において、前記除染構造は、除染機構は前記ベクトルを初期値化する為の初期化機構を持つとすることができる。さらに具体的には、除染機構は前記汚染が把握された前記反意図情報が該反意図情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化するとすることができる。この構造によれば、コンピュータウイルスの侵入という、ウイルスに汚染された可能性のあるデータ領域が自律的・自動的に初期化されてしまうので、ウイルスがいわゆる「悪さ」を働く機会が発生しないようにすることが可能となる。
 また上記の場合において、前記除染構造は、さらに具体的には、除染機構は前記汚染が把握された前記反意図情報が該反意図情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化するとすることができる。これによれば、ウイルスがいわゆる「悪さ」を働く機会が発生しないうちに除染してしまうので、いわゆるコンピュータウイルスの侵入問題自体を消滅せしめることが可能となる。
 さらに、前記ベクトルは前記汚染把握機構及び/もしくは前記除染機構に対して最適の時宜を付与する構造を持つとすることができる。
 またさらに、前記正常状態回復機構は前記プログラムに成立させる再起機構を持つとすることができる。
また、前記汚染把握機構に係る前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、前記汚染把握機構は前記第2、第6、第7のフラグと前記第4領域との相対関係を判定する3種フラグ・第4領域相対関係判定機構を有するとすることができる。
 さらに、前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定する為の第4領域脈略正統性判定機構をさらに備えるとすることができる。これによれば、仕組12と仕組5は第4領域の正当性を判定する仕組であるが、判定の時宜が異なる為に判定の仕方を同じ仕組にすることができない。
 またさらに、前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をする第4領域脈略成否予測機構をさらに備えるとすることができる。
また、前記プログラムに係るOSでは捉えられない命令汚染を捉える命令汚染把握機構をさらに備えるとすることができる。
 また、上記課題を解決するために、本発明に係るプログラム定義構造は、OS(オペレーションシステム)上で起動される動作プログラムもしくは該動作プログラムに係るデータ領域に侵入するウイルスの起こし得る問題をプログラム構造として解法するためのウイルス自律的解法プログラム定義構造であって、主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット4の臨界状態が達成されるまで循環する構造を有する座標関数4と、主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット2の臨界状態が達成されるまで循環する構造を有する座標関数2と、主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット3の臨界状態が達成されるまで循環する構造を有する座標関数3と、前記パレット4が臨界状態になれば前記パレット2に、前記パレット2が臨界状態になれば前記パレット3に、前記パレット3が臨界状態になれば前記主語を成り立たせるための変数主語の第4領域の所在に応じて最上ランクに係る座標関数3、同一ランク係る座標関数4、1層下層ランク係る座標関数4のいずれかに制御を移す同期関数とを有する。
 かかる構造を有することにより、本発明においては、第1の情報領域に本来望んでいないコンピュータウイルスを含む外部からのデータや命令文が侵入したとしても、ウイルス検出アルゴリズムがそれをウイルスの問題としてではなく第1の情報領域の汚染としてとらえてしまう構造をシナリオ関数上で動かすことで、ウイルス侵入が自律的に検出される。
 この場合において、前記前記ベクトルは、前記データ領域が何らかの理由で汚染されると前記汚染を自力で捉える為の汚染把握機構と、前記汚染把握機構にて捉えられた汚染を自力で除染する為の除染機構と、前記記憶領域を正常状態に自動回復させる為の正常状態回復機構ととすることを採用してもよい。この構造がシナリオ関数の再帰構造と組み合わさって、コンピュータウイルスの侵入という、パターン認識手法では限界がある事態を客観的にもれなく把握できるアルゴリズムに置き換えることが可能となる。
 さらに、前記ベクトルは前記汚染把握機構及び/もしくは前記除染機構に対して最適の時宜を付与する構造を持つとすることができる。
 またさらに、前記正常状態回復機構は前記プログラムに成立させる再起機構を持つとすることができる。
また、前記汚染把握機構に係る前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、前記汚染把握機構は前記第2、第6、第7のフラグと前記第4領域との相対関係を判定する3種フラグ・第4領域相対関係判定機構を有するとすることができる。
 さらに、前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定する為の第4領域脈略正統性判定機構をさらに備えるとすることができる。これによれば、仕組12と仕組5は第4領域の正当性を判定する仕組であるが、判定の時宜が異なる為に判定の仕方を同じ仕組にすることができない。
 またさらに、前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をする第4領域脈略成否予測機構をさらに備えるとすることができる。
また、前記プログラムに係るOSでは捉えられない命令汚染を捉える命令汚染把握機構をさらに備えるとすることができる。
こうした構成を有する本願によれば、コンピュータウイルスの侵入という、パターン認識手法では限界がある事態を客観的にもれなく把握できるアルゴリズムに置き換えることが可能となり、また、ウイルスに汚染された可能性のあるデータ領域が自律的・自動的に初期化されてしまうので、ウイルスがいわゆる「悪さ」を働く機会が発生しないようにすることが可能となる。
 また上記の場合において、前記ウイルス検出アルゴリズムが前記ウイルスが侵入した可能性のあるデータ領域を初期化するに当たっては、前記侵入が推定された前記ウイルスが意図された症状を発症させる前のタイミングで前記データ領域を初期化するとすることができる。これによれば、ウイルスがいわゆる「悪さ」を働く機会が発生しないうちに除染してしまうので、いわゆるコンピュータウイルスの侵入問題自体を消滅せしめることが可能となる。
 上述した本願発明に係る技術思想は、上記のようなウイルス自律的解法プログラム定義構造としてのみでなく、実質的に同様の発明特定事項を備える、ウイルス自律的解法プログラム、ウイルス自律的解法装置、ウイルス自律的解法方法、として、もしくはかかるプログラムが搭載された記憶媒体として、実現することができる。
 本発明によれば、ウイルス問題に対して本質的な解法が与えられる。すなわち、ウイルスが稼動中の本発明のプログラム(以下、「本プログラム」ともいう。)に如何なる時宜、如何なる手段、何度でも繰り返し侵入したとしても、本プログラムはそのウイルスを自力で本プログラムが使用する記憶領域の汚染として捉えて、除染し、本プログラムの正常な稼働を継続できる様に迅速に回復させる。
本プログラムは汚染(ウイルス)を本プログラムの意図に反する誤情報として捉える。本プログラムは誤情報が存在すれば、本プログラムに叙述矛盾が生じる仕組になっている。本プログラムはこの仕組みを用いて汚染を捉える。付言すれば、本プログラムは侵入するウイルスをウイルスとしてではなく、本プログラに生じる本発明による叙述矛盾の仕組で捉える。そして、本プログラムはその汚染を本発明による仕組で除染する。この除染は侵入するウイルスの意図を解体することと同義になる。
汚染を捉える時宜、そして、それを除染する時宜は本発明による時宜で行われる。結果、侵入したウイルスがその意図する所の症状を発症させる前に無力化されることになる。即ち、本プログラムの基では、ウイルスの侵入問題、ウイルス症状問題はウイルス問題として解法するわけではない。本プログラムはウイルスに侵入されてもウイルス問題を本プログラムには発症させない様にする仕組である。故に、本プログラムのこの仕組はウイルス問題の解法ということになるものである。
 よって、各産業を困らせていたウイルス問題からこれら産業を一挙に解放することが可能となる。
本発明の一実施形態に係るプログラムの効果を示す概念図である。 従来のプログラムから本発明のプログラムを導き出す手順を示す概念図である。 本発明の一実施形態に係る本プログラムの効果を示す概念図である。 本発明の研究過程に於ける確立された主たる構想を示す図である。 プログラムの動性解析による従来型プログラムの名詞の成立軌跡(左側)と本願に係るシナリオ関数によるプログラムの名詞の成立軌跡(右側)とを比較分析した図である。 本発明の一実施形態に係る本プログラムが使用するベクトルの種別を示す図である。 本発明の一実施形態に係る、7個の規約と4個の出口で成立するベクトルの概念図である。 本発明の一実施形態に係る本プログラムの為のベクトルの概念図である。 本発明の一実施形態に係る本プログラムが使用するベクトルの正統性を捉える為の第4領域、第2フラグ、第6フラグ、第7フラグの相対関係を示す図である。 本発明の一実施形態に係るウイルス観察アルゴリズムの概念図である。 本発明の一実施形態に係る本プログラムが使用する主語成立数のスタック構造を示す図である。 本発明の一実施形態に係る3種の座標関数の基本概念図である。 本発明の一実施形態に係る同期関数の概念図である。 本発明の一実施形態に係る3種の本プログラムのランク構造の概念図である。 事例として掲げる従来プログラム(論理結合型)の部分の流れ図である。 図10に掲げられる事例に対する本発明の一実施形態に係るLyee空間として規定されるフレームの一部左側を示す図である。 図10に掲げられる事例に対する本発明の一実施形態に係るLyee空間として規定されるフレームの一部右側を示す図である。 図10に掲げられる事例に対する本発明の一実施形態に係る意味の仕組を表した図である。 本発明の一実施形態に係る本プログラムに属す主語が本プログラムのランク構造ではどの位置の本プログラムに属すかを示す為の図である。 本発明の一実施形態に係る本プログラムが搭載され得る一形態を示した全体構造図である。
 以下、図面を参照して本発明を実施するための形態について説明する。なお、以下では、本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
(本発明の為の成立の由来)
従来のプログラムは論理結合型叙述法に因っていることが、プログラムとしての完全性が成立させられない原因であるが、論理結合型叙述法はわれわれが本能的に身に付けている習慣である。それ故に、そのプログラムの在り方にはプログラム問題で見られる様に多くの問題が内在することになるのであるが、その叙述法の馴れ親しみ易さが、その問題を是とする暗黙の前提になってしまっていると言う問題がある。
ここで、本発明によって到達したプログラムの普遍的構造を説明するために前提的に到達した公理である「意味が成立する構造」について説明する。しかる後に、意味の構造の公理に基づき、意味が導出される仕組みとして本願が到達した考え方を説明し、その考え方に立ってウイルスをどう無力化するのかという本願の直接的課題の解決手段について説明する。
(意味の概念)
意味は全体(内包的光景)的である。自然上の存在たるわれわれは部分なので、「意味」、「全体」等の言葉を持っているにも拘らず、その実体の内包的光景をわれわれ自身の記憶として叙述することはできない。われわれができることは、部分を機能的に脈略化(ロジック化)して、意味や全体を連想するに留まるものである。
(意味は何処に所在するのか)
意味はわれわれの脳裏の中に存在する、と仮説する。
(意味の仕組)
意味の仕組はシナリオ関数の解(S)である。意味の仕組とはわれわれの脳裏の中に存在する意味の模型である。シナリオ関数はその動性(データ結合)で主語の脈略を成立させる。それが意味の仕組の模型である(図12参照)。主語の脈略はロジックに較べて、全体の概念により近似する。故に、この特性から主語の脈略を意味の仕組と呼ぶのである。
意味の仕組はシナリオ関数の5種のベクトルL4、L2、L3、R2、W4の第4領域(主語)の脈略である。意味の仕組は論理結合型思考法のわれわれが認識できる様に捉え直されたものである。意味の仕組はシナリオ関数を論理結合型プログラムに変換して、LYEE空間(図11A、図11B)を求め、LYEEをグラフ化ツールに入力すれば、求められる。技術的には、意味の仕組は超言語化された単元文から求められる。超言語化された単元文はLYEE空間で見ることができる。グラフ化ツールは既に市販されている。シナリオ関数を論理結合型プログラムに自動変換するアルゴリズムは本発明の研究のなかで、既に求められている。論理結合型プログラムからLYEE空間を自動的に求めるアルゴリズムは本発明の研究のなかで、既に求められている。論理結合型プログラムの部分例(図10)から求められる意味の仕組(図12)で意味の仕組の在り様を解説する。部分例(図10)のLEE空間は図11A、図11Bを参照されたい。
(意味の仕組の構造)
従来のプログラムの動性、即ち、領域を節とする命令の実行軌跡は所謂スパゲテイ型となるのに対し、シナリオ関数の動性は櫛型となる。主語の脈略で捉えると両者とも同じ意味の仕組となる。これが意味の仕組みの特徴である。意味の仕組は主語、定値がウイルスで汚染されれば、その波及がどこまで及び、そして、汚染の無力化範囲を限定する為の論考に用いられた。結果、定値、主語、変数主語の汚染を無力化すれば、汚染問題は解法できるとの結論が得られた。このことは(後述する)プログラム模型で見ることができる。
(経路)
図12は図10の意味の仕組を表す図である。図12に於ける太い実線は図10の流れ図の線であり、細線は流れ図には表れないもので流れ図線を補完する関係線で意味の仕組を表すことになる。図10に現れる線(以下、「経路」ともいう。)の本数は20個、図12の図10と同質の経路数は22個となる。図12の方が経路数が2個多いのは図12の方が、厳密性が高いためである。この経路は調和座標で成立するので、調和脈略と記される。他方、図12では更に16個の経路が出現している。この経路は超言語座標で捉えられるので超言語脈略と記される。超言語脈略は図12に現れ、図10には出現しない。これが意味の仕組(主語の脈略)の特徴である。そして、図12の方が図10よりも明らかに全体化されていることの証である。
調和脈略は機能的な動性の経路である。しかし、超言語脈略は動性の経路ではない。主語がどの様な経緯で成立しているか主語の由来を表す経路である。換言すれば、これは主語の意味を捉える経路である。もし、超言語脈略が意図を反映するものでなければ、例えば、超言語脈略に於ける主語の順序が意図を反映していなければ、調和脈略に問題が生じる。換言すれば、これ迄調和脈略、即ち、流れ図に問題があるとすれば、われわれは調和脈略上、即ち、流れ図上でその原因を捉えようとするのであるが、それは、プログラム・テストで経験する様に簡単なことではない。意味の仕組を用いれば、調和脈略に生じる問題の原因は超言語脈略上の主語の順序の誤りとして観察することができる。主語の順序の誤りを調和脈略上で探すことは困難である。
(LYEE空間の項目)
図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)参照。
例えば、行番号86の単元文G=10では主語となる名詞はGである。そして、その10は定値と記される。この単元文が超言語化されれば、G[86,11]=10[86]と記される。86はこの構文が置かれるTCXが86であることを示す。このTCX86は行番号86と一致しているが、単元文が複数機能を持つ構文があり、複数の単元文に置き換えられたものである場合には、その複数機能を持つ構文は行番号を持ち、単元化された単元文達はその複数機能を持つ構文の行番号に枝番号が付され、それぞれの単元文のTCXとなる。G[86,11]の11はGの領域定義文がTCX:11に置かれていることを示す。領域定義文はこのLYEE空間では省略されているので、見ることができない。10[86]は定値が10で、この形式の定値はプログラム上領域を持たないので、G[86,11]のTCX:86の位置の10であることを示す。
行番号98の単元文はC=G-Aである。この単元文の超言語化はC[98,16]=G[86,11]-A[,20]である。A[,20]にAのTCXがないのはAのTCXには95、96があり、成立している方が使用されるので、この段階では特定できないことが表示できない理由である。
この単元文にはG[86,11]が使用されている。このG[86,11]の由来はTCX:86である。故に、この場合、意味の仕組ではC[98,16]=G[86,11]-A[,20]のG[86,11]からG[86,11]=10[86]のG[86,11]のG[86,11]に向かう脈略が超言語脈略として成立する。
C[98,16]=G[86,11]-A[,20]のC[98,16]は、[100、]IF(B[99,17]+C[98,16])<0で使用されている。即ち、[100、]IFのC[98,16] の由来はTCX:98である。故に、この場合、意味の仕組では[100、]IF(B[99,17]+C[98,16])<0のC[98,16]からC[98,16]=G[86,11]-A[,20]のC[98,16]に向かう脈略が超言語脈略として成立する。 [100、] IFはTCX:100に置かれていることを示す。IFは主語ではないので、その領域は存在しないことから、[100、]IFと記される。
(意味の仕組のガイダンス)
以上の様に意味の仕組、即ち名詞の脈略は座標を用いて生成することができる。結果、従来のプログラムであろうと本プログラムであろうと、プログラムに属す名詞は主語として網羅的に捉えられることになる。主語としてとは既述の通り、調和座標と超言語座標とで名詞が脈略化されることである。即ち、これら座標が名詞を主語化する関係を捉えていることに留意さえすれば、名詞がこれら座標で脈略化されていても、それは主語として脈略化されているということになる。これが意味の仕組のポイントである。
本発明においては、調和座標、超言語座標がこのことを実現させている。図12で見る様に調和脈略の経路は論理結合の脈略である。これは従来の流れ図に合致する。同様に、超言語脈略はデータ結合の脈略である。これは従来の流れ図には出現しない。流れ図を見る人の脳裏に流れ図の意味として浮かぶものである。換言すれば、超言語脈略は脳裏に浮かぶ意味を捉えていることになる。
意味の仕組の利用価値は様々考えられる。
(1)例えばひとつの主語(名詞)が他の主語とどの様な成立関係で成立しているかを目視することができる。この成立関係は本意味の仕組でなければ、ひとでは完全に脳裏に浮かべることができないものである。その意味で、意味の仕組を求めれば、それは人が初めて目にするプログラムの光景である。
(2)意味の仕組の名詞(主語)のネットワーク(脈略)に於ける順位(主語順序列)はその主語の成立由来を捉えている。故に、これを用いれば、要求者の意図がプログラムで正当に捉えられているかを目視的に観察することができる。
(3)意味の仕組でプログラムのどこをテストするべきかを観察することができる。
以上で、本発明が前提的に到達した公理である「意味が成立する構造」についての説明を終了する。次に、本発明に係るプログラムとシナリオ関数との関連について説明する。
本発明に係るプログラム(以下、「本プログラム」ともいう。)の成立の由来は論理結合型叙述法に対してデータ結合型叙述法として位置付けられる。この叙述法はわれわれのこれ迄の本能的な有り様とは異なるので、はじめからいきなり馴れ親しみ易く感じられるというわけにはいかない。発想をかえなければ本プログラムに馴れ親しみ易さを感じることはできない。論理結合型叙述法では主語の脈略の仕方が名詞を主語化する知見の再利用(論理)で行われるので、叙述者はその意図を十分ではないにしても認識することができる。他方、データ結合型叙述法では主語の脈略の仕方は、その叙述の解を求めなければ叙述者にも認識することができない(図12参照)。
シナリオ関数においては、叙述者にその意図を知る必要がないことが明確に示されている。この点が、本プログラムがプログラムとしての完全性を成立させる仕組になっている。従来のプログラムは本プログラムとは違い、プログラム問題やウイルス問題を解法することはできない。これに対して、本プログラムはプログラム問題やウイルス問題を解法することができる。それだけでなく、本プログラムは、その根拠を普遍的に説明し得ると言う点で、世界で初めてのプログラム構造になっている。
例えば、本明細書では「ウイルスを無力化する為の仕組」は15個のスキームに纏められている。これらはシナリオ関数を基にすることにより初めて成立するものである。しかし、従来プログラムではこの内のひとつでも成立させることはできない。ウイルス問題の常識に鑑みればこの根拠は明白であるが、本稿の「ウイルスの無力化」でも解説される。ここでは、併せて、本プログラムの基盤となるシナリオ関数についても把握する必要があるが、これについては、本稿の「シナリオ関数の定義式」で解説される。
図1Bは従来のプログラムから本発明のプログラムを導き出す手順を示す概念図である。同図において、1B-1は従来のプログラムのソースコード、1B-11は従来のプログラムのLYEE空間(図11A,図11B参照)、1B-111は主語ベクトルで統治される命令文をLYEE空間から抽出する作業を示す。1B-1111は抽出された命令文を統治するベクトルの作成を示す。1B-112はL4型制御ベクトルで統治される命令文をLYEE空間から抽出する作業を示す。1B-1121は抽出された命令文を統治するベクトルの作成を示す。1B-41は主語ベクトルのプログラム模型が本明細書に添付されていることを示す。1B-42はウイルス観察アルゴリズム(VWA)のプログラム模型が本明細書に添付されていることを示す。1B-43は制御ベクトルのプログラム模型が本明細書に添付されていることを示す。1B-44は本発明のプログラムの基本プログラムとなる3種の座標関数、同期関数のプログラム模型が本明細書に添付されていることを示す。1B-2は作成されたベクトルを基にVWAの作成を示す。1B-21は作成されたVWAを用いて主語ベクトルを完成させる作業を示す。1B-22は作成されたVWA、制御ベクトルの模型を用いて制御ベクトルを完成させる作業を示す。1B-23は基本プログラムの模型を用いて基本プログラムを完成させる作業を示す。1B-3は本発明のプログラムを完成させる為に1B-21、1B-22、1B-23の結果を用いて本発明のプログラムを編集する作業を示す。同図では、
(1)本プログラムはウイルス問題を解法する理論である、
(2)ウイルス問題はプログラムで解法できる、
ことが示されている。
本発明に係るシナリオ関数を把握するならば以下のことが認識できる。
(1)本プログラムの構成要素のベクトルを規約する7個の規約のひとつを人為的に定義すれば、本プログラムを構成する全てのコードが決まる。
(2)上記(1)は本プログラムが普遍的であることの証である。
(3)図1Bの関係は従来プログラムが存在すれば本プログラムも存在することの証しである。
(4)本明細書に添付される本プログラムの模型は上記(1)(2)(3)の証明である。
(5)本プログラムを決定する命令文においてはその文種を区別する為の情報を事前に定義すれば、この定義を用いて従来プログラムから自動的に取り出すことができる(図11A、図11B(LYEE空間)参照)。
(6)本プログラムを決定する命令文は本プログラムを構成する12種のベクトルの内のL4型制御ベクトルを含む5種の主語ベクトルで使用される。どのベクトルがどの命令文を使用するかはベクトルごとに例外なく決まる。これについては本稿のベクトルの項で解説される。
ベクトルは命令文を決める為の仕組になっていることにも留意するべきである。本プログラムを構成する座標関数、同期関数、制御ベクトル、VWA(ウイルス観察アルゴリズム)と言うプログラムはベクトルが決まれば決まるものである。添付されている解説、構造図、プログラム模型を参照されたい。こうした仕組みによれば、本プログラムは
(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規約の出口である。
同図に示されるように、ベクトルの始点は1か所で第1規約である。ベクトルの終点(出口)は4ヶ所で第1、第4、第6、第7規約である。4ヶ所の終点(出口)で役割を終えるベクトルの状態をベクトルの正統性という(ベクトルの正統性の項参照)。ベクトルは2種のフラグ(第6フラグ、第7フラグ)を固有する。第2フラグはウイルス対応の本プログラムの為に追加されたものである。第2フラグは第2規約を通過した証をオンで示す。第6フラグはオンで自分の再起動を要請する。第7フラグはオンで自分の再起動の一時停止を宣言する。ベクトルの第3、5,6,7規約はベクトルの再起構造の仕組である(再起構造の項参照)。
(第4領域の正統性)
第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,名詞。
名詞が主語化される仕組は命令文で決定される。故に、主語ベクトルでは主語を持つ命令文が統治される。そして、その命令文の主語が主語ベクトルの解となる。条件文には変数主語はあるが、主語がない。しかし、条件文は主語を持つ命令文に呼応されるので、その命令文の名詞を用いて、L3,名詞として識別され、主語ベクトルとして存在する。しかし、L3,名詞の領域は条件文の成否をオン、オフのいずれかで表す為の第4領域となる。
E41、E42、T4、T2、T31、T32、T33はシナリオ関数の制御ベクトルである。制御ベクトルは所属するパレットの種別を付与して識別する。
例;E41,P4という形式になる。
L4型制御ベクトルとは主語を持たない命令文が果たす機能を統治するベクトルである。識別は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に自分の主語を写す。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を起動する。
図8に示されるように、シナリオ関数には1個の同期関数が存在する。同期関数はシナリオ関数に於ける最上位の制御論理体である。同期関数は3種の座標関数を統治する。同期関数は再起構造体である。同期関数の再起構造は同期周期を成立させる。シナリオ関数が使用する領域定義文は同期関数に置かれる。
(座標関数)
図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ではこの座標関数の制御を同期関数に返す。
図7に示されるように、:シナリオ関数には3個の座標関数が存在する。3個の座標関数(Φ4、Φ2、Φ3)は統治するパレット以外は同形である。座標関数はパレットに属すベクトルを統治する。座標関数はパレット内の主語の同期を成立させる仕組である。座標関数は再起構造体である。座標関数の再起構造には座標周期が成立する。図6(スタック構造)を参照すれば示されるように、座標周期は主語成立数のスタック構造を決める時宜である。
(本プログラムのウイルスを解法する仕組の規範)
プログラムが自分でウイルス汚染を解法するには、以下の仕組を備えることが必要である。
(1)実行時にウイルス汚染を捉える仕組
(2)除染する仕組
(3)除染後再起させる仕組
プログラムが再起構造を持てば、汚染された領域は初期値化すれば除染されることになる。本プログラムはシナリオ関数で分かる様にシナリオ関数はあたかも最初からやり直す様な再起構造になっている。故に、汚染された領域をその定義属性で初期値化すれば除染されることになる。この再起構造はシナリオ関数の動性がデータ結合型として成立する故に成立する仕組である。従来のプログラムの動性は論理結合で成立するので、シナリオ関数の様な領域単位ごとに再起を成立させる構造を成立させることができない。本プログラムではウイルス汚染は、結果的に、本プログラムに生じる構造上の叙述矛盾として捉えられる(ベクトルの正統性、第4領域の正統性を参照)。
故に、本プログラムではウイルス情報を一切用いずにウイルス問題を解法することができる(ウイルスの無力化を参照)。付言すれば、ウイルス問題はウイルス情報を用いては解法できないという点に気付く必要がある。その理由は、ソフト危機について詳しくなればなる程、その解決策が複雑になり、結果的に埒外のプログラム言語に委ね、解法を放棄した様に、ウイルスについても詳しくなるとその解決策は臨床的になり、解法には及ばなくなるからである。換言すれば、問題に詳しくなることと問題を解法することは往々にして別問題になることが多いのである。故に、ウイルス作成者を活用してウイルス問題を解決するという発想では、事態を複雑化させるだけとなる。改めていえば、ソフト危機をプログラム言語で解決しようとして、コード化率を上げようとするだけのプログラム言語の普及で、プログラム言語の表面的な利便性が図られた結果、ソフト危機は改善されず、事態を更に複雑化させて来た、というのがこれ迄の歴史であったと指摘せざるを得ない。
叙述法とはプログラム言語(文法)に制約を与える律性のことである。ここで言及しなければならないのは、プログラム言語と叙述法の概念は似て非なるものだということである。この制約の律性はプログラム構造で決まる。プログラム言語による多くの制約を、究極的には普遍性を成立させるに至るプログラム構造が、プログラム問題、ウイルス問題を解法することになる。プログラム言語文法を超越する叙述法の概念は、本発明者による15年間の独自の動性分析で得られたものである。この概念が本願に係るシナリオ関数に反映されている。本プログラムの模型を参照すれば、その簡潔さの中にありながらもこの叙述法的な感覚が存するのを気付くことが可能であると考える。プログラム問題はプログラム構造を変えれば解法できることを実証したのがシナリオ関数である、ともいえる。
常識的なウイルスなら1組のウイルスで電子計算機システムを瓦解させる力を持っている。故に、ウイルスというのは1個でもプログラムに侵入させてはならない。これは「ウイルス問題解法の絶対条件」である。であるが故に、ウイルス問題の解法は単にアイデアでは成就することはできない。即ち、解法の原理を発見しなければ、ウイルス問題は解法することができない、といえる。主語(第4領域)は同じ主語でも実行時には様々に変化するので、主語が汚染されているや否やは実行時に判定するしか方法がないのである。そして、主語だけを観察しても汚染の有無は解らない。主語が汚染されているや否やは主語の成立経緯の妥当性を観察するのでなければ、機械的に判定することができないのである。
ベクトルには普遍的なフラグ(第6フラグ、第7フラグ)がある。これが主語の叙述矛盾を捉える仕組の基盤になっている。この2種のフラグに3番目の第2フラグを追加すれば、第4領域(主語)の有無と3種のフラグとの相対関係で主語の成立経緯の妥当性を判定することが可能となる。この仕組が主語のウイルス汚染を機械的に判定する本プログラムの仕組の原理になっている。シナリオ関数に第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では再起カウンタの値が保持される。
 図4Bにおいては、本プログラムが使用するベクトルの正統性を捉える為の第4領域、第2フラグ、第6フラグ、第7フラグの相対関係が示されている。この相対性はベクトルの出口2、3、4に於けるベクトルの状態として求められている。
 図5は本発明の一実施形態に係るウイルス観察アルゴリズムの概念図である。同図において、5S101は第2フラグの汚染の有無が観察される。5S201は第6フラグの汚染の有無が観察される。5S301は第7フラグの汚染の有無が観察される。5S401は第4領域の汚染の有無が観察される。5S501は上記のひとつでも汚染されていればこのベクトルを初期値化する。5S5011は主語成立数カウンタを1減じる。5S901は本VWAの終了出口である。5S601は主語成立数カウンタの汚染の有無が観察される。5S701は再起カウンタの汚染の有無が観察される。5S801はベクトルの初期値化で済まされない汚染なので本システムを停止させる為に準備されるプログラム(SLP)を起動させる。
3種の座標関数は図7を基本とする。ここにおいて、主語成立数カウンタは本プログラムには1個である。本プログラムはシナリオ関数の定義式に準拠する。本プログラムの定義構造は従来のプログラムと異なることは明白である。結果的に、本発明はプログラムの精密な構造論に帰着している。
(ベクトルの正統性の補足)
ベクトルは座標関数により、再起することに於いて、ベクトルが自分の出口2、3,4のいずれかをパスしていること、或はウイルス観測プログラム(VWA)で初期値化されている状態であること、がベクトルの正統性を満たす要件である。因みに出口3の状態はVWAの出口状態と同じである(図3、図5参照)。ベクトルの正統性は第1規約で第2規約に進むか否やの判定条件となる。この条件は次の様に定義される。
(第4領域と3種のフラグの相対性)
第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規約では正統な主語が近未來に成立する可能性を主語の成立数の変化を用いる独特な方法で調べる。主語成立数のスタック項目を参照されたい。
(第4領域の汚染の解法)
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で捉える。
本プログラムの厳密で奥深い仕組が汚染を捉え自動回復させる仕組になっている。本プログラムのこの様な仕組を破壊するウイルス汚染は命令破壊以外にはあり得ないことになる。
(3種のフラグのオンオフの場所)
・第2フラグの初期値はオフである。
・第2フラグは第6規約がオフにする。
・第2フラグは第7規約がオフにする。
・第2フラグは座標関数がオフにする。
・第6フラグの初期値はオンである。
・第6フラグは第6規約がオンにする。
・第6フラグは第4規約がオフにする。
・第6フラグは第5規約がオフにする。
・第7フラグの初期値はオフである。
・第7フラグは第7規約がオンにする。
・第7フラグは座標関数がオフにする。
(ウイルス観察アルゴリズム(VWA))
ウイルス観察アルゴリズムは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で連接される。従来のシステムでは理論上も実際上も複数のプログラムで構成しなければならないのに対し、シナリオ関数では理論上唯ひとつのシナリオ関数で構成することができる。この理由は、シナリオ関数ではシステムを構成するのに必要なプログラムはベクトルで対応することができるということにある。
ランク構造はシステムの運営管理上の問題に因る理由で設けられる。従来のプログラムは論理結合型であることから、座標関数、同期関数に相当するロジックが成立しないので、そのシステムでは複数のプログラムが必要になる。シナリオ関数では座標関数、同期関数は普遍的なので、ベクトルの量とは無関係に成立する。シナリオ関数を複数本に小分けしなければならない格別な理由は存在しない。シナリオ関数を本プログラムと置き換えて考えることができる。
ここで、本プログラムに属す主語が本プログラムのランク構造ではどの位置の本プログラムに属すかについて説明する。図13は本発明の一実施形態に係る本プログラムに属す主語が本プログラムのランク構造ではどの位置の本プログラムに属すかを示す為の図である。同図に示されるように、ランク構造(1,1)に属す主語A(1,1)の変数主語、例えばB、Cの主語がどのランク構造の本プログラムに属すかが示されている。この例では変数主語B、Cの主語は同じランクに属していることを示している。変数主語B、Cの主語はB、Cである。
(論理結合型プログラムとシナリオ関数の関係)
図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領域を成立させる為に可能的限界まで稼動する再起構造をもっている。
同期関数は3種のパレット間の関係に於いて、ベクトルの第4領域(主語)をひとつでも多く成立させる為に可能的限界まで同期関数を稼動する再起構造を持っている。これら再起構造の全ての仕組は、A.ベクトルの第4領域、B.ベクトルの3種のフラグ、C.5種のT型ベクトル(T4、T2、T31、T32、T33)、D.2種のE型ベクトル(E41、E42)、で制御されている。従来のプログラムが不可避的に発生させるがゆえの弱点である複雑さ問題を、本発明においては、プログラムの本質的な洞察とそれを基に得られたプログラムの再起構造とによって、シナリオ関数として、その複雑さを単調構造に変えて回避させている。本プログラムはそのシナリオ関数を基盤にウイルス問題を解法するプログラム構造として成立している。
(同期構造の意義)
本発明においては、従来のプログラムの動的分析を通じて、われわれがいう問題とは非同期の様相であることを突き止め、それに対する解法をそれを同期構造に変える手続きとして位置付けられるものである。シナリオ関数の動性はデータ結合で成立し、従来のプログラムの動性は論理結合で成立する。それらはいずれも解法を意味する。シナリオ関数は電算機を用いて同期構造を成立させる仕組であるが、従来のプログラムはソースコードの定義段階で既に解法の道筋を決めている。そのことが従来プログラムの動性をいわゆるスパゲテイ構造として複雑化させている原因になっている。図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の座標周期である。
座標関数2,3にも同じ様に座標周期が成立する。座標周期は同期構造のひとつの形態である。座標関数4の座標周期は本プログラムに於ける主語成立数のスタックを生成及び更新する時宜になっている。この時宜で決まる主語成立数のスタックが全てのベクトルの第5規約で用いられる。即ち、ベクトルの解である第4領域が未来に成立するや否や、を判定する未來条件は座標関数4の座標周期の終了点とその時点に於ける主語成立数によるスタック構造で捉えられるということである。この仕組は従来プログラムの発想では求められるものではない。
(主語の脈略を成立させる仕組)
図12の意味の仕組とは主語の脈略化図である。これを観れば誰もがその脈略を納得できるが、それを観ない限りこの全てを知ることができない。調和脈略は流れ図として知ることはできても、超言語脈略の大部分は未知の脈略である。そして、プログラムは従来のものであっても意味の仕組みの基で成立していることに気付いて欲しい。ということは、われわれはプログラムがどの様に成立しているかについての論理の殆どの部分が解からずにプログラムを作っているにも関わらず調和脈略だけでプログラムの論理が解かった様に振る舞っているということである。シナリオ関数並びにシナリオ関数を基盤とする本発明のプログラムはわれわれが解かっているのは名詞を主語化する論理だけだとして、その前提でプログラムの解である意味の仕組を成立させるプログラムである。プログラムの完全性やウイルス問題の解法はプログラムの意味の仕組を知ることに因り成立するものである。 
(論理矛盾を捉える仕組)
本プログラムは、シナリオ関数のベクトルに第2フラグとウイルス観察アルゴリズムを加えて正統な主語の脈略を成立させる仕組である。 
本プログラムはプログラムの処理をこれ迄のプログラムと違って、主語の脈略で成立させる仕組になっている。そして、脈略は汚染されていない主語、換言すれば、プログラム意図に沿わない主語で成立しては正常な処理を果たしたことにはならない。故に、本プログラムは汚染されていない主語、即ち正統な主語で脈略が成立する仕組になっている。即ち、ウイルス観察アルゴリズム、ベクトルの第1規約、同第3規約は汚染された主語が脈略に加われない様に観察する為の論理が叙述されている。故に、汚染された主語が脈略に加われればその叙述に矛盾が生じる。この矛盾は論理に反する叙述として捉えることができる。換言すれば、本プログラムのこの仕組はウイルス汚染を主語毎に捉えるということで、汚染を完全に捉えることができるが、この仕組は完全なプログラムの仕組を求める研究に於いて求められたものである。即ち、ウイルスとは無関係に求められたものである。故に、本プログラムではウイルスタグ(ウイルス情報)を用いずにウイルス汚染を捉え、それを無力化することができる。ウイルス問題をウイルス知識で解法することはできない問題である。ウイルス観察アルゴリズムは汚染を捉え汚染されたそのベクトルを初期値化する。ベクトルの第1規約はベクトルの正統性を第4領域と3種のフラグの相対性で観察する。ベクトルの第3規約は第4領域(主語)の正統性を正統な主語の脈略の関係に於いて観察する。本プログラムの観点でいえばウイルスは横目で本プログラムを眺めながら本プログラムに手出しができず、ただ居眠りを装う以外に存在することができない。
(主語の計数)
正統な主語(第4領域)が成立すれば主語成立数はベクトルの第4規約で主語成立数カウンタに1を加えて計数される。そして、ウイルス観察アルゴリズムでは、主語(第4領域)が正統でないと判定すれば、そのウイルス観察アルゴリズムがベクトルを初期値化する。その時点でウイルス観察アルゴリズムが主語成立数カウンタの値を1減じる。
(スタック構造)
図6のスタック構造図を参照する。同図は本発明の一実施形態に係る本プログラムが使用する主語成立数(第4領域成立数と同義)のスタック構造を示す図である。本スタックは本プログラムに1個で座標関数4の座標周期を利用して生成される。座標関数2、3では生成する必要がない。本スタックはベクトルで利用される。
利用の仕方を以下に記す。
(1)ベクトルの第5規約での利用
ベクトルの第5規約は自分の第4領域が同じ座標周期で成立する可能性の有無を問う為の規約である。この判定の為に主語成立数のスタックを用いる。
即ち、NS1>NS5なら自分の第4領域は同じ座標周期で成立する可能性があると判断することができる。
(2)ベクトルE42での利用
E42はOSでは捉えられない命令破壊を捉える為のベクトルである。E42はこの命令破壊を主語成立数の論理矛盾、即ち、NS1<NS5として捉える。本プログラムが正常であれば、NS1とNS5の関係はかならずNS1>NS5である。しかし、この事態が発症すると本プログラムに於けるこの関係はNS1<NS5にゆきつく。
原因は以下のいずれかである。
1)ベクトルの誤り
2)命令破壊に至らない命令コードの汚染
実行の段階で上記1)の誤りはないので、原因は上記2)である。 
(3)ベクトルE41での利用
E41は本プログラムの主語成立数が臨界に達した状態(本プログラムの正常終了状態)を捉える為のベクトルである。E41はこの事態をNS1=NS5として捉える。
(4)ベクトルT4、T2、T3での利用
各パレットで成立する主語の限界状態はパレットの臨界と記す。パレット4の臨界はT4の成立条件となる。パレット2の臨界はT2の成立条件となる。パレット3の臨界はT31、T32,T33の二つの成立条件のひとつとなる。もう一つの条件は主語分布表で示される主語の所在箇所である。
(1)従来のプログラムは汚染されれば、その影響はそのプログラムだけでなく、そのプログラムが属すシステムに及ぶ。
(2)従来のプログラムを本発明のプログラムに置き換えれば、本プログラムはウイルス問題を解法する。
(3)従来のプログラムを図1Bで解る様に専用ツールで本プログラムに自動変換することが可能である。
(4)従来のプログラム技術者が、本プログラムを能率よく自分で作る為には約60時間程度の座学が必要である。
(本プログラムに論理結合型プログラムが存在させられる理由)
本プログラムに関するプログラム模型を本稿に添付する。本プログラムでは、データ領域を持つプログラムは本願に係るベクトルだけである。データ領域は汚染の対象である。故に、ベクトルにはデータ領域の汚染を無力化させる為の仕組が必要である。故に、本発明においては、ベクトルには第2フラグとVWAとが加えられている。本発明のベクトル以外のプログラム、即ち、VWA、座標関数、同期関数は固有のデータ領域を持たないことに留意してほしい。そのことに於いて、これらプログラムにはデータ領域の汚染問題は生じない。ということは即ち、これらに生じる汚染は命令破壊だけである、ということになる。これはベクトルの効果であり、本プログラムの特長である。故に、VWA、座標関数、同期関数は論理結合型プログラムのままで良い。プログラムが固有のデータ領域を持たなければ、そのプログラムはだれが作成したものでも、譬え、複写性が成立していなくても、共用することができることになる。即ち、VWA、座標関数、同期関数は誰が作成したものでも、複写性が成立していなくても共用できる、ということである。これも複写性の1種となる。
(本プログラムの模型)
本プログラムのアルゴリズム例(以下、「プログラム模型」という。)は本明細書の内容、プログラム化される構造、即ち図3、4A、5、7、8を納得できる様にする為の解説資料として添付されている。故に、複雑による納得の混乱を避ける為に本明細書の内容の全てが模型化されているわけではない。本願発明の技術思想の開示として十分な範囲に留められている。従来のプログラム作成者でも本明細書の記述と本プログラム模型をガイダンスとすれば、本発明に基づくプログラムを作成することができる。本プログラム模型は本プログラムのコーデングを自動化するツールを示唆する仕様書にもなっている(図1B参照)
本プログラムはプログラム言語ごとに作成する。画面操作言語、DB,DC言語についてはどのようなものを用いても本願発明は適用可能であり、作成者の好みのものが利用できる。本プログラムは以下のプログラム模型に基づいてベクトル、座標関数、同期関数を作り、シナリオ関数の定義式通りに組み立てれば完成するものである。座標関数、同期関数は世界にひと組あれば、それをそのまま利用することができる。
(VWA(L4,A)の論理結合型プログラムの模型)
図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.
(L4,Aのベクトル模型)
このベクトルの命令文例を「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.
(L3,Dのベクトル模型)
このベクトルの命令文例を「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.
(L2,Cのベクトル模型)
このベクトルの命令文例を「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.
(W4,URIAGEのベクトル模型)
このベクトルの命令文例を「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.
(R2 DB11のベクトル模型)
このベクトルの命令文例を「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,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,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プログラムの論理結合型模型)
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プログラムの論理結合型模型)
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,P3プログラムの論理結合型模型)
「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,P3プログラムの論理結合型模型)
「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,P3プログラムの論理結合型模型)
「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.
(「主語分布表」図13の解説)
同図は、主語がランク構造に属す本プログラムのどれに属しているかを表す為のものである。例えば(1,1)はランク構造に於けるシナリオ関数の位置座標である。
(座標関数4プログラムの論理結合型模型)
座標関数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プログラムの論理結合型模型)
座標関数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プログラムの論理結合型模型)
座標関数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.
(E41,P4プログラムのベクトル型模型)
制御ベクトルの論理結合型模型を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.
(T33,P3プログラムのベクトル型模型)
このベクトルの命令文はスタッツクを採ることである。スタッツクを採る命令文は第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.
ウイルスが稼動中の本発明のプログラム(以下本プログラム)に如何なる時宜、如何なる手段、そして、それを何度でも繰り返し、侵入しても、本プログラムはそのウイルスを自力で本プログラムが使用する記憶領域の汚染として捉えて、除染し、本プログラムの正常な稼働を継続できる様に迅速に回復させる。
本プログラムはウイルスを本プログラムの意図に反する誤情報による汚染として捉える。本プログラムは汚染が出現すればそれを叙述矛盾として捉える。本プログラムにはこの仕組が備わっている。しかし、この仕組は侵入するウイルスを捉える為に在るのではなく、プログラムが正統なプログラムとして存在する為の構造条件として求められている。本プログラムは捉えた汚染を本発明による仕組で除染する。この除染の仕組も正統なプログラムとして存在する為の構造条件として求められている。汚染を捉える時宜、そして、それを除染する時宜は本発明による時宜で行われる。この除染の時宜は侵入するウイルス症状を発症させないことに於いて、ウイルスの意図を解体することと同義の作用になる。本願によってのみ奏される本願特有の効果である。
上記に詳述したように、本発明によれば、ウイルス問題に対して本質的な解法が与えられる。すなわち、本プログラムは、ウイルスをウイルス問題として解法するわけではない。本プログラムは、ウイルスは存在してもウイルス問題(ウイルスの侵入問題、ウイルス症状問題)を存在させない仕組、即ち、解法の仕組になっている。
なお、本願に係る技術思想は上述した形態に限定されることはなく、本思想の範囲内で、種々の変形、置換、代替、改良、拡大、縮小が可能である。また、本発明に係るプログラム、機能チップ、装置が搭載された二次的複合製品に対しても本願に係る技術思想は及ぶものである。さらに、本発明は、上記に詳述された本発明独自の構造である、ウイルス問題を自律的に解法するプログラムの定義構造としても、同構造を備えたプログラムとしても、同プログラムが搭載される記憶媒体としても、並びにウイルス問題を自律的に解法する方法としても、(たとえばこれらのプログラムと同等の機能を果たす部品として組み込んだ)ウイルス問題を自律的に解法するウイルス問題解法装置としても、それぞれ実現することが可能である。すなわち、図14は本発明の一実施形態に係る本プログラムが搭載され得る一形態を示した全体構造図であるが、ここに示されるように、本願に係るベクトルL4構造を備えたルーチン1431、本願に係るベクトルL2構造を備えたルーチン1441、本願に係るベクトルL3構造を備えたルーチン1451、本願に係るルーチン1431を集積させたL4パレット構造を備えたルーチン1430、本願に係るルーチン1441を集積させたL2パレット構造を備えたルーチン1440、本願に係るルーチン1451を集積させたL3パレット構造を備えたルーチン1450、のこれらすべて(他のR2、W4等のベクトルについては記載を省略しているが含まれることは当然である)を全体構造プログラムとしてシステム1400に組み込む形態であっても、これらを単独プログラムとしていわゆるASP(アプリケーション・サービス・プロバイダ)形式として提供する形態であっても、或いはこれらの機能をそれぞれ部品化した装置として提供する形態であっても、これら各プログラムをプログラム単体として提供する形態であっても、当該プログラムを搭載した記憶媒体として提供する形態であっても、いずれでも本願は実現・適用することができる。これらのあらゆるメカニズムに対して、上述した本技術思想の中核部分は適用可能である。
 既に、コンピュータ・プログラムは人類の、あらゆる分野に普及している。故に、其のプログラム達は、既に脅かされている分野もある様に、そして、今後は全ての分野のプログラムが例外なく、且つ止まることなく、ウイルス問題に脅かされることになる。本発明は、ウイルス問題を一挙に解法することに於いて人類に貢献する。そして、本発明は他に見当たらないことに於いて本発明は、コンピュータ産業にとどまらず、自動車、航空機、原子力、一般家電を含む各種産業において巨大な利用可能性を有するものである。
1A-1…電算機の記憶領域、1A-10…従来のプログラム、1A-11…本発明のプログラム、1C-1…電算機の記憶領域、1C-10…従来のプログラム、1C-11…本発明のプログラム,1C-2…コンピュータウイルス

Claims (34)

  1. 実行状態にあるプログラムの為の所定の記憶領域が何らかの理由で前記プログラムについての意図に反する反意図情報に汚染されると前記汚染を自力で捉える為の汚染把握機構と、
    前記汚染把握機構にて捉えられた汚染を自力で除染する為の除染機構と、
    前記記憶領域を正常状態に自動回復させる為の正常状態回復機構と
    を前記プログラムに成立させることを可能にするプログラムの定義構造。
  2. 前記汚染把握機構は第1乃至第7の規約を有するベクトルの構造を持つ、請求項1記載のプログラムの定義構造。
  3. 前記除染機構は前記ベクトルを初期値化する為の初期化機構を持つ、請求項1記載のプログラムの定義構造。
  4. 前記除染機構は前記汚染が把握された前記反意図情報が該反意図情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化する、請求項3記載のプログラムの定義構造。
  5. 前記ベクトルは前記汚染把握機構及び/もしくは前記除染機構に対して最適の時宜を付与する構造を持つ、請求項3もしくは4記載のプログラムの定義構造。
  6. 前記正常状態回復機構は前記プログラムに成立させる再起機構を持つ、請求項1乃至5のうち1項記載のプログラムの定義構造。
  7. 前記汚染把握機構に係る前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、
    前記汚染把握機構は前記第2、第6、第7のフラグと前記第4領域との相対関係を判定する3種フラグ・第4領域相対関係判定機構を有する、請求項1乃至6のうち1項記載のプログラムの定義構造。
  8.  前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定する為の第4領域脈略正統性判定機構をさらに備える、請求項2記載のプログラムの定義構造。
  9. 前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をする第4領域脈略成否予測機構をさらに備える、請求項2記載のプログラムの定義構造。
  10. 前記プログラムに係るOSでは捉えられない命令汚染を捉える命令汚染把握機構をさらに備える、請求項1乃至9のうち1項記載のプログラムの定義構造。
  11.  OS(オペレーションシステム)上で起動される動作プログラムもしくは該動作プログラムに係るデータ領域に侵入するウイルスの起こし得る問題をプログラム構造として解法するためのウイルス自律的解法プログラム定義構造であって、
    主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット4の臨界状態が達成されるまで循環する構造を有する座標関数4と、
    主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット2の臨界状態が達成されるまで循環する構造を有する座標関数2と、
    主語となるデータ領域に対して内容を決定するための最小叙述構造体であるベクトル構造が任意順序で集積されたパレット3の臨界状態が達成されるまで循環する構造を有する座標関数3と、
    前記パレット4が臨界状態になれば前記パレット2に、前記パレット2が臨界状態になれば前記パレット3に、前記パレット3が臨界状態になれば前記主語を成り立たせるための変数主語の第4領域の所在に応じて最上ランクに係る座標関数3、同一ランク係る座標関数4、1層下層ランク係る座標関数4のいずれかに制御を移す同期関数と
    を有することを特徴とするプログラムの定義構造。
  12.  前記ベクトルは、
    前記データ領域が何らかの理由で汚染されると前記汚染を自力で捉える為の汚染把握機構と、
    前記汚染把握機構にて捉えられた汚染を自力で除染する為の除染機構と、
    前記記憶領域を正常状態に自動回復させる為の正常状態回復機構と
     を具備する、請求項11記載のプログラムの定義構造。
  13.  前記ベクトルは第1乃至第7の規約を有する、請求項11もしくは12記載のプログラムの定義構造。
  14. 前記除染機構は前記ベクトルを初期値化する為の初期化機構を持つ、請求項12もしくは13記載のプログラムの定義構造。
  15. 前記除染機構は前記汚染が把握された前記反意図情報が該反意図情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化する、請求項14記載のプログラムの定義構造。
  16. 前記ベクトルは前記汚染把握機構及び/もしくは前記除染機構に対して最適の時宜を付与する構造を持つ、請求項12乃至15のうち1項記載のプログラムの定義構造。
  17. 前記正常状態回復機構は前記プログラムに成立させる再起機構を持つ、請求項12乃至16のうち1項記載のプログラムの定義構造。
  18. 前記汚染把握機構に係る前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、
    前記汚染把握機構は前記第2、第6、第7のフラグと前記第4領域との相対関係を判定する3種フラグ・第4領域相対関係判定機構を有する、請求項12乃至17のうち1項記載のプログラムの定義構造。
  19.  前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定する為の第4領域脈略正統性判定機構をさらに備える、請求項13記載のプログラムの定義構造。
  20. 前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をする第4領域脈略成否予測機構をさらに備える、請求項13記載のプログラムの定義構造。
  21. 前記プログラムに係るOSでは捉えられない命令汚染を捉える命令汚染把握機構をさらに備える、請求項11乃至20のうち1項記載のプログラムの定義構造。
  22. 前記座標関数を切り替える為に用いるパレットの臨界状態を捉えるパレット臨界状態把握機構をさらに備える、請求項11乃至20のうち1項記載のプログラムの定義構造。
  23.  請求項1乃至22のうち1項記載のプログラムの定義構造が記憶された記憶媒体。
  24.  請求項1乃至22のうち1項記載のプログラムの定義構造が装置の部品として機能する、ウイルス自律的解法装置。
  25. 実行状態にあるプログラムの為の所定の記憶領域が何らかの理由で前記プログラムについての意図に反する反意図情報に汚染されると前記汚染を自力で捉え、
    前記捉えられた汚染を自力で除染し、
    前記記憶領域を正常状態に自動回復させる
    ことを特徴とするウイルス自律的解法方法。
  26. 前記汚染をとらえるのは第1乃至第7の規約を有するベクトルの構造を持つことによってなる、請求項25記載のウイルス自律的解法方法。
  27. 前記除染は前記ベクトルを初期値化する為の初期化機構によって行う、請求項26記載のウイルス自律的解法方法。
  28. 前記除染は前記汚染が把握された前記情報が該情報に対して意図された症状を発症させる前のタイミングで前記ベクトルを初期値化する、請求項27記載のウイルス自律的解法方法。
  29. 前記ベクトルは前記汚染及び/もしくは前記除染に対して最適の時宜を付与する構造を持つ、請求項27もしくは28記載のウイルス自律的解法方法。
  30. 前記正常状態への自動回復は前記プログラムに成立させる再起機構によって行う、請求項25乃至29のうち1項記載のウイルス自律的解法方法。
  31. 前記ベクトルは少なくとも、前記第2規約を通過したことを示す第2フラグ、前記ベクトル自体の再起動を要請するための第6フラグ、前記ベクトル自体の再起動の一時停止を宣言するための第7フラグ、前記第3規約で判定され前記第4規約で決定される領域である第4領域を有し、
    前記汚染をとらえるのは前記第2、第6、第7のフラグと前記第4領域との相対関係を判定することによる、請求項25乃至30のうち1項記載のウイルス自律的解法方法。
  32.  前記ベクトルの前記第3規約で前記第4領域の正統性を判定する為に該第4領域の脈略の正統性を判定をさらに行う、請求項26記載のウイルス自律的解法方法。
  33. 前記ベクトルに係る前記第5規約において、前記第4領域の成立数スタックを用いて該第4領域の脈略の成否の未来予測をさらに行う、請求項26記載のウイルス自律的解法方法。
  34. 前記プログラムに係るOSでは捉えられない命令汚染を捉えることをさらに行う、請求項26乃至33のうち1項記載のウイルス自律的解法方法。
     
     
PCT/JP2015/056268 2014-08-04 2015-03-03 侵入したウイルスを自律的に無力化するプログラムの定義構造、及び同構造を備えたプログラム、同プログラムを搭載した記憶媒体、並びにウイルス問題を自律的に解法する方法・装置 WO2016021220A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 金村 貴康 電子機器の記憶装置格納データの削除システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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