汎用スキーマ基盤技術 社外打ち合わせ議事録 ■日時 2005年02月23日(水) 13:30〜16:30 ■場所 独立行政法人宇宙航空研究開発機構 宇宙科学研究本部 新A棟2F ■出席者(順不同) 宇宙研) 松崎様、周東様 セック) 小林、豊田(記) ■配布資料 セック) 1) tableTools作業リスト 2) tableTools確認事項 3) Text版の入力データサンプル 4) UMS 0.4版(案) 5) UMSのスキーマ 6) C/Text(out)・Java/Text(out)のソースコード ■議題 1.作業状況の確認 2.Text版の入力データサンプル 3.UMS 0.4版(案) 4.C/Text(out)・Java/Text(out)のソースコード 5.tableTools確認事項 -------------------------------------------------------------------------- ■A/I一覧 【セック】 [S-0216-01] UMSスキーマ0.4版(案)を作成する。 -> 配布資料4)にまとめた。クローズとする。 [S-0216-02] Text版の入力データサンプルを作成する。 -> 配布資料3)にまとめた。クローズとする。 [S-0216-03] Text版のデータ出力処理を行うソースコードを、C、Javaについて 作成する。 -> 配布資料6)にまとめた。クローズとする。 [S-0223-01] UMS 0.4版(案2)、マッピング部に、どこからどこまでが、どの関数 の処理範囲であるかを示す情報を追加する。 [S-0223-02] UMS 0.4版(案2)、変数定義部とデータ定義部の冗長な情報をなくす よう検討する(データ型が2箇所で定義されている)。 [S-0223-03] UMS 0.4版(案2)、function要素中で関数の用途を表すuseという 属性名について、より一般的な属性名を検討する。 [S-0223-04] UMS 0.4版(案2)、arg要素中で引数の入出力表すuseという属性名 について、より一般的な属性名を検討する。 [S-0223-05] C/Text(out)・Java/Text(out)のソースコードについて、binary データに対応できるよう、ソースコードを修正する。 [S-0223-06] C/Text(out)・Java/Text(out)のソースコードについて、 マッピングファイルとの対応関係がわかるように、コード中にコメ ントを追加する。 【宇宙研様】 [I-0223-01] UMS 0.4版(案2)、function要素中で関数の用途を表すuseという 属性名について、より一般的な属性名を検討する。 [I-0223-02] UMS 0.4版(案2)、arg要素中で引数の入出力表すuseという属性名 について、より一般的な属性名を検討する。 -------------------------------------------------------------------------- ■議事内容 1.作業状況の確認 配布資料1)をもとに、残作業および今後の作業方針について確認を行った。 - 現在、以下の作業を実施中である。 ・umsCodeGenerator Text/C版エンコード処理のソースコード作成 ・umsCodeGenerator Text/Java版エンコード処理のソースコード作成 ・UMSスキーマ 0.4版の作成 ・Text版入力データサンプルの作成 - Text、XML、双方並行して、まずはソースコード類を整備し、その後、 変換処理の実装に着手する、という流れで進めるのが良いと思われる。 -> 上記方針に沿って、スケジュールを改版する予定である。 2.Text版の入力データサンプル 配布資料2)をもとに、Text版の入力データサンプルについて確認を行った。 - 指摘事項は特になし。 3.UMS 0.4版(案) 配布資料3)をもとに、UMS 0.4版(案)について確認を行った。 - UMS 0.4版は、関数定義部・変数定義部・データ定義部に分割する記述方 式(案2)をベースに進める。 - UMS 0.4版(案2)を詰める必要がある。 -> マッピング部に、どこからどこまでが、どの関数の処理範囲である かを示す情報が必要である。追加する。【A/I セック】 -> 変数定義部とデータ定義部の冗長な情報をなくす(データ型が2箇所で 定義されている)。【A/I セック】 -> 関数/データ定義部と、マッピング部とでリンクが取れない場合は、 エラーとすべきである。 -> 生成後のソースプログラムをコンパイルする際に、言語コンパイラ で検出できるため、tableToolsとしては特に作り込みは行わない。 -> function要素中の、関数の用途を表すuseという属性名について、より 一般的な属性名を検討する。【A/I 宇宙研様、セック】 -> 関数の処理方向については、pipe属性を追加し、データ→ソース方向 をpipe="1"とし、ソース→データ方向をpipe="2"とする。 -> 関数の位置づけについては、parseやwriteなど、入力されたデータを 扱う関数を"input"、userProgramなど、出力されたデータを扱う関数を "output"とする。 関数定義の例は、以下の通り。 -> arg要素中の、引数の入出力表すuseという属性名について、より一般的 な属性名を検討する。【A/I 宇宙研様、セック】 引数の入出力表す属性には、"in"、"out"、"inout"が入りうる。 -> 関数の戻り値として返したい変数は、return要素を追加し、以下のよう に記述する。 しかし、現段階では関数の戻り値の実装を考慮しないため、とりあえず、 type="void"としておく。 4.C/Text(out)・Java/Text(out)のソースコード 配布資料6)をもとに、C/Text(out)・Java/Text(out)のソースコードについ て確認を行った。 - strcatで文字列を順に連結しているが、バイナリデータを処理することを 考えると、ポインタを動かしながらmemsetで値を設定していく必要がある。 -> binaryデータに対応できるよう、ソースコードを修正する。【A/I セック】 - 元になるUMSとの対応がとれるほうがよい。 -> マッピングファイルとの対応関係がわかるように、コード中にコメン トを追加する。【A/I セック】 5.tableTools確認事項 確認内容については、添付「tableTools_qa_20050223.ANS.xls」を参照のこと。 - データを2進数・16進数として扱いたい場合に、どのように対応するかにつ いては、todoリストに加え、今後の検討課題とする。 6その他 - dataConversionTableのencodeについて確認した。 以下のように、encode属性は入力データのencodeを表し、var要素のtype 属性は言語のデータ型を表し、data要素のtype属性はdatatypeLibraryの データ型を表す。 ... 入力データのencode ... 言語のデータ型 ... datatypeLibrary - dataConversionTableについて、本来は、datatypeLibraryとencode、 datatypeLibraryとtype、2つの対応付けが必要である。 v0.3の対応付けは、言語とdatatypeLibraryとが正しく区別されておらず、 修正が必要である。 - プログラム中でデータを変換する際は、2段階(言語 -> datatypeLibrary、 datatypeLibrary-> encoding)で処理を行う。 -------------------------------------------------------------------------- ■次回予定 03/02(水) 15:00〜 -------------------------------------------------------------------------- 以 上