汎用スキーマ基盤技術 社外打ち合わせ議事録
■日時 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〜
--------------------------------------------------------------------------
以 上