ProductDetail

1. NTS/NCT/NTSCTの解析対象一覧

・下記にPRAのNTS/NCT/NTSCTで解析を開始する対象と解析対象の一覧を記す。

・NCTでは、class/struct/unionから正順に解析を進め、 NTSでは、main/classfuction/freefunctionから正順に解析を進めていく。

  得られた解析結果を逐次N-ASPのデータ構造でPRADSを組み上げる処理を行っている。

2. NTS/NCT/NTSCT/NSIの検索・表示機能一覧

・上記N-ASPのデータ構造で組み上げられたPRADSを検索して、各種データを表示するitemの一覧を記す。

NTS/NCT/NTSCTでは、解析結果を正順にPRADSを組み上げていくが、N-ASPの構造特性により、各種データを

正順(InOrder)に表示するだけではなく、逆順(Reverse)にも容易に表示可能である。

3. N-ASPデータ構造の概要

ASPの実体entityは、Ring, Ringstart, Associator, Element、およびDataからなる。

また、RingにはAssociativeRing,UpperRing 、およびLowerRingの3種がある。

Elementは、対象となるものobjectのDataを格納する役割を持ち、UpperRing とLowerRingを持つ。

UpperRingは、そのobjectより上位のobjectとの関係付けを行い、LowerRingは、そのobjectより下位のobjectとの関係付けを行なう。

Ringstartは、LowerRing上に置かれ、その上位Elementが持つ任意の数の属性やobjectを表現し、下位のElementを、

その上位Element に関連付けるためのAssociativeRingの始点となる。

N-ASPでは、表現力を増すため、RingstartにAttributiveRingstartとObjectiveRingstart、および

ListTypeRingstartの3種を設定している。

Associatorは、UpperRingとAssociativeRingの結合子である。あるobjectが上位objectに属することを示す場合は、上位のobjectのObjectiveRingと当該objectの UpperRing を、Associatorを介して結合して関連付ける。また、あるobjectが、ある属性を持っている場合は、その属性を示すAttributiveRingに、同様にAssociatorを介して結合して関連付ける。

Elementには特殊なものが一つある。それは、全てのentityの最上位に位置するUniversalElementである。

また、UniversalElementのLowerRing上のRingstartは、Universal Ringstartと呼ぶこともある。

ASPデータ構造は、UniversalElementをスタートポイントとして、そのLowerRing上のUniversal Ringstartを介して、上記の各entity間の関係のルールを守って完全なRingを作りながら、構築されなければならない。

孤立した構造群を作成すると、ASPパッケージで用意したDelete,GabbageCollection などの種々の機能が活用できず、

個別に特殊処理をしなければならなくなる。

4. ネットワーク型データ構造とASP

一般のネットワーク構造では構成要素内に接続情報を持ち、接続子を通常は持たない。構成要素同士を

関連付けるためには、双方の構成要素内に相互の接続情報を持たせる。変更が少なく定まった手順でデータ構造を作成する場合は、

これで十分であるが、頻繁なデータ変更を伴う場合は、処理が複雑になる。ASPデータ構造の場合は、構成主要素であるElementの

他に、RingstartとAssociatorという接続子要素を持っており(ホームの項参照)、頻繁なデータ変更でも容易に対応ができ、N_ASPは

オンメモリーであるためレスポンスもよく汎用性が高い。その代りデータ量は少し多くなる。

【一般のネットワーク型構造とASPデータ構造の作成プロセス】

ASPが分類されるネットワーク型データ構造においては、普通はポインタが関連項目へ直接指し示す構造を持つのに対して、

ASP構造ではRingstartおよびAssociatorを利用して示している。

これにより多項間の関連の表現や関連情報の変更をシンプルに行なうことができるという特長がある。

下記は4つの関数間の単純な呼び出し構造を他の直接ポインタを使用するデータ構造とASPデータ構造とのイメージ比較である。

表1と表2は

【表1 データベース種類毎のデータ構造比較】

【表2 一般のネットワーク構造とASPデータ構造の比較】

N-ASPでは、基本のDS作成・検索機能に加えて、下記の機能を付加しています。

 ① 可変ControlArea構造作成機能

 ② ポロジーとデータを分離するSub_DataBlock構造作成機能

 ③ Name付け、およびNameによるAccess機能

 ④ Delete・Change機能

 ⑤ Create履歴、およびDelete・Change実行後の統合Undo・Redo機能

 ⑥ BlockSize・BlockName変更機能

 ⑦ DataRead・Write機能

 ⑧ GabbageCollection機能

 ⑨ DSのファイルへの書き込み・読み出し機能、およびCheckPoint機能

 ⑩ 汎用DS構造創成機能、およびDS構造解析機能

 ⑪ 多重DS環境機能

 ⑫ Debug支援ツール