知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月
目次 背景 仮説 方針 構造 計画 問題点
背景 データ変換、データ管理、自動作業をやってくれる便利なツールが欲しい 自分の要求を満たすものが存在しない ●●●プロジェクト 管理文書の管理/検索/変更が大変 部品定義ファイルの生成/変更が大変 HTML等の文書の作成が大変 各種ツールを作成した場合、再利用性がない
仮説(1/3) 部品/ツール/データの再利用性の低い原因 解決策 使い方の仕様がプログラムから操作可能な知識として残っていない どう使うかの知識が環境に依存しない知識として知識ベースに蓄えられていて、それがプログラムから操作可能になっていれば再生産が容易
仮説(2/3) 知識表現 知識の加工 知識からの生成物 双方向にたどれるグラフ表現が適切 論値型プログラミングでグラフデータを加工するのが適切 知識からの生成物 各種データ、各種プログラムが生成できる
仮説(3/3) 知識ベースのモデル 以下の4個の基本要素で構築可能 述語 関係 関数 システム述語 Prolog(推論) グラフベース(知識ベース) 関数 システム述語
方針(1/2) グラフ簡易データベースを作成/使用 基本問い合わせ言語 リレーショナルデータベースでもオブジェクト指向データベースでもない 大規模なデータを扱うのが目的ではない 小規模なデータベースの集まりをたくさん扱う 基本問い合わせ言語 PrologをVisualな図にしたようなもの
方針(2/2) 自作オブジェクト指向インタプリタを使用 自作GUIクラスライブラリを使用 ヘッダを変更しても待ち時間がゼロ VC++で書くのに比べ生産性が10倍以上 グラフ構造データがベース 知識ベースの構築が容易 自作GUIクラスライブラリを使用 上記インタプリタで作成したものが既にある http://www.yk.rim.or.jp/~inamoto/altair/
構造(1/2) 知識ベースの応用 知識ベース GUIビルダー & 結線プログラミング 知識ベース カーネル GUIクラスライブラリ Altairインタプリタ String処理強化
構造(2/2) Action ユーザ 加工元データ 加工元プログラム 加工後データ 加工後プログラム ユーザインターフェース 知識ベース 指示 知識 自動生成 ユーザインターフェース 知識ベース カーネル 自動生成 入出力知識 知識
計画 日程計画 投入計画 1997 グラフベースのカーネル作成 1998 グラフベースの応用サンプル作成 1999 グラフベースの本格的運用 1997 グラフベースのカーネル作成 1998 グラフベースの応用サンプル作成 1999 グラフベースの本格的運用 投入計画 1997年7月から稲本1人0.5の工数で
問題点 もともと自分が使うためのもの インタプリタ 上記2点をクリアするためには、実際にプロトタイプを作成し評価してみないと分からない 他の人が使えるものになるか? インタプリタ 十分な性能がでるか? 上記2点をクリアするためには、実際にプロトタイプを作成し評価してみないと分からない すぐに製品に結びつくものでなく基盤技術 現段階では分業では作業は行えない