汎用スキーマ基盤技術 社外打ち合わせ議事録 ■日時 2005年03月09日(水) 10:00〜13:00 ■場所 独立行政法人宇宙航空研究開発機構 宇宙科学研究本部 新A棟2F ■出席者(順不同) 宇宙研) 松崎様 セック) 小林、豊田(記) ■配布資料 セック) 1) tableTools開発スケジュール 2) UMS 0.4版(案) 3) C/Text(out)のソースコード 4) Java/XML(in,out)のソースコード 5) Cのヘッダを生成するXSL 6) 変数の型変換テーブルを生成するXSL ■議題 1.UMS 0.4版(案) 2.C/Text(out)のソースコード 3.Java/XML(in,out)のソースコード 4.Cのヘッダを生成するXSL 5.変数の型変換テーブルを生成するXSL -------------------------------------------------------------------------- ■A/I一覧 【セック】 [S-0223-05] C/Text(out)・Java/Text(out)のソースコードについて、binary データに対応できるよう、ソースコードを修正する。 -> 配布資料4)にまとめた。まだ修正が必要である。 [S-0223-06] C/Text(out)・Java/Text(out)のソースコードについて、 マッピングファイルとの対応関係がわかるように、コード中にコメ ントを追加する。 -> まだ修正が必要である。 [S-0302-01] UMSデータに配列型がないため、追加する。 -> 配布資料2)にまとめた。クローズとする。 [S-0302-02] Java版のUMSの場合、データ定義されているクラスを外部クラスと して記述する。 -> 配布資料2)にまとめた。クローズとする。 [S-0302-03] バイナリデータを入力とする場合のUMSのサンプルを作成する。 -> 配布資料2)にまとめた。クローズとする。 [S-0302-04] UMSのスキーマについて、で のfunction要素の記述を分ける。 -> まだ対応できていない。 [S-0302-05] UMSのスキーマについて、direction属性の内容がinputまたは outputのみを指定できるように修正する。 ->まだ対応できていない。 [S-0302-06] C・Java/Text(out)のソースコードについて、バイナリ書き込み処 理関数のロジックを簡略化する。また、ビット単位で処理できる ように修正する。 ->まだ対応できていない。 [S-0302-01] UMSについて、指摘事項を反映する。 [S-0302-02] C/Textのソースコードについて、エンコード処理関数のコードを 作成する。 [S-0302-03] バイナリ版の処理を行うソースコードを作成する。 [S-0302-04] Java/Text(in, out)、またはC/Text(in, out)のソースコードを生 成するXSLを作成する。 -------------------------------------------------------------------------- ■議事内容 1.UMS 0.4版(案) 配布資料2)をもとに、UMS 0.4版(案)について確認を行った。 - 前回の打ち合わせで、作業のボリュームを考慮し、今回扱うdatatypeLibrary のデータタイプをstring、int、unsigneInt、doubleに絞った。そのため、 umsのサンプルからstring、int、unsigneInt、double以外のデータを削除する 必要がある。 -> 削除する。【A/I セック】 《マッピング部》 - データの扱いを簡略にするため、文字列・空白の記述を以下のように変更す る。【A/I セック】 [a-zA-Z0-9_]* [ \t]+ - data要素について、データ形式を示す情報()が省略されている。 - XSLからソースコードへの変換のしやすさを考慮し、データ形式を示す情報に、 encode属性を付与する。 - 文字列以外のint型やdouble型のデータを、string型データとしてumsに記述 している。 - 変数名が属するmemberという要素名が、マッピング部において適切でないと 考えられる。 -> マッピング部の内容を以下のように修正する。【A/I セック】 -?[0-9]+ - エンコード処理に対応する関数、デコード処理に対応する関数、ユーザが使 用する関数の処理内容の判別をすることが困難である。 - 現在は、エンコード処理をする関数、デコード処理をする関数が、1つのマ ッピングを共有している。それぞれの関数ごとのマッピングとの対応を分かり やすくするため、関数ごとにマッピング定義を分けたほうがよい。 - エンコード・デコード処理の関数の中で呼び出す関数の対応を分かりやすく するため、呼び出す関数名はマッピング部に記述する。 -> マッピング部の構成を以下のように修正する。【A/I セック】 (マッピング) (マッピング) (マッピング) 《変数定義部》 - 構造体変数やクラス変数の記述を、一般の変数宣言に近づけたほうがよい。 また、構造体の定義は変数定義部の外に出す。 ->以下のように修正する。【A/I セック】 ... 《関数定義部》 - マッピング部にエンコード・デコード処理関数の関数情報(引数や戻り値)を 記述したため、関数定義部にはユーザが使用する関数の関数情報のみを記述 すればよいと考えられる。 -> 関数定義部には、ユーザが使用する関数の定義のみを記述する。 【A/I セック】 - マッピング部に、エンコード・デコード処理関数と、それぞれの関数が呼ぶ ユーザ関数の情報を記述したため、direction属性は必要ないと思われる。 -> 削除する。【A/I セック】 2.C/Text(out)のソースコード - エラー情報を格納する構造体変数は、下位関数に参照を渡すようにする。 - エンコード処理関数のコードが作成できていない。 -> 作成する。【A/I セック】 - バイナリ版の処理を行うコードが作成できていない。 -> 作成する。【A/I セック】 - データを変換する際、umsの記述からソースコードへの変換をしやすくするた め、言語タイプ⇒datatypeLibrary、datatypeLibrary⇒encodeと2段階で処理 していた部分を、1つの関数で処理するようにする。 3.Java/XML(in,out)のソースコード - 指摘事項は特になし。 4.Cのヘッダを生成するXSL - 指摘事項は特になし。 5.変数の型変換テーブルを生成するXSL - 指摘事項は特になし。 6.その他 - 次回打ち合わせまでに、Java/Text(in, out)、またはC/Text(in, out)のソー スコードを生成するXSLを作成する。【A/I セック】 -------------------------------------------------------------------------- ■次回予定 03/18(金) 10:00〜 -------------------------------------------------------------------------- 以 上