myGroup > myProject
 

開発の履歴・記録

ミーティングの記録

これまでに開催したミーティングの議事録です。

レビューの記録

ミーティングその他によるデザインレビューの記録です。

IDtabletools-ums-2005022301
対象UMS文法
変更前
変更後変数定義、関数定義、マッピング定義を分離
変更理由スキーマ文書の可読性やマッピング部の定義のし易さなどユーザビリティを考慮。

IDtabletools-ums-2005030301
対象UMSデータ
変更前 <data/>
変更後 <txt:byte encode="signed"><data/></txt:byte>
変更理由省略しないことにより、実装を簡略化。そもそも省略して良いか?検討が必要。

IDtabletools-ums-2005030901
対象datatype library
変更前
変更後string, token, int, unsignedInt, doubleのみに限定
変更理由実装範囲を限定。datatype libraryは、型変換テーブルに処理を追加していくことで将来拡張が可能。

IDtabletools-ums-2005030902
対象UMSデータ
変更前 <java:function name="userProgram1">
<!-- java:return type="void"/ -->
</java:function>
変更後 <java:function scope="abstract" name="userProgram1">
<java:return type="void"/>
<java:exception type="UMSException" />
</java:function>
変更理由ソースプログラムの生成に必要な情報を全て列挙。

IDtabletools-ums-2005030903
対象UMS文法
変更前 <java:var type="String" name="strData"/>
<java:var type="int" name="iData"/>
変更後 <java:var class="String" name="strData"/>
<java:var type="int" name="iData"/>
変更理由言語側で、クラスと型に差があるので、それに合わせた表記を用いて両者を区別。

IDtabletools-ums-2005030904
対象UMS文法
変更前 <defineMapping >
<function name="parseRecord" diretion="input">
<function name="userProgram1" direction="output"/>
</function>
</defineMapping>
変更後 <defineMapping function="parseRecord">
<java:callFunction name="userProgram1"/>
</defineMapping>
変更理由1つのdefineMapping要素で、1つのマッピング処理関数を呼び出す。

IDtabletools-ums-2005030905
対象UMS文法
変更前 <defineMapping function="parseRecord">
<defineMapping function="writeRecord"/>
</defineMapping function="parseRecord">
変更後 <defineMapping function="parseRecord"/>
<defineMapping function="writeRecord"/>
変更理由1つのdefineMapping要素で、1つのマッピング処理関数を呼び出す。関数名はfunction属性で指定。

IDtabletools-ums-2005030906
対象UMS文法
変更前 <java:var name="rec.dData">
<data type="double"/>
</java:var>
変更後 <java:value-of select="rec.dData">
<data type="double"/>
</java:value-of>
変更理由単純な変数アクセスではないため、XSLで類似の機能を持つvalue-ofの名称に変更。

IDtabletools-ums-2005030907
対象UMSデータ
変更前 <data type="string">
<param name="pattern">[ \t]+</param>
</data>
変更後 <value type="string"> </value>
変更理由実装範囲を限定。

IDtabletools-ums-2005030908
対象UMSデータ
変更前 <data type="string">
<param name="pattern">[A-Za-z0-9]+</param>
</data>
変更後 <data type="token"/>
変更理由実装範囲を限定。

IDtabletools-ums-2005031001
対象UMSデータ
変更前
変更後datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
変更理由記述の不足。

IDtabletools-ums-2005031002
対象UMS文法
変更前
変更後 <java:arg class="String" name="inputBuffer" direction="input"/>
のdirection属性は残す。
変更理由文法の明確化。IDLを参考にした概念。

IDtabletools-ums-2005031003
対象UMSデータ
変更前
変更後rng用のnamespaceは、接頭辞「rng:」が使われる最も上位のところで宣言する。 誤りという訳ではないが、記述を統一する。
変更理由記述の統一。

IDtabletools-ums-2005031004
対象UMSデータ
変更前 <txt:bit length="3" encode="signed">
<data type="int"/>
</txt:bit>
<txt:bit length="5" encode="unsigned">
<data type="unsignedInt"/>
</txt:bit>
<txt:byte length="8" encode="ieee754double">
<data type="double"/>
</txt:byte>
変更後bitコンテナはbyteコンテナ内に詰める。
<txt:byte length="1">
<txt:bit length="3" encode="signed">
<data type="int"/>
</txt:bit>
<txt:bit length="5" encode="unsigned">
<data type="unsignedInt"/>
</txt:bit>
</txt:byte>
<txt:byte length="8" encode="ieee754double">
<data type="double"/>
</txt:byte>
変更理由記述の不足。

ID: 2005031201
Target:
mapping definition sample
Description:
<root/> 要素はRELAX NGで定義されたものではない。 等価な機能を <grammar><start/></grammar> で実現できる。
From:
<root/>
To:
<grammar><start/></grammar>
ID: 2005031401
Target:
mapping definition sample
Description:
試験ケース追加。
From:
To:
dDataを構造体/クラスの中から単独の変数に移動。
ID: 2005031501
Target:
mapping definition sample
Description:
3文字の文字列を格納するには3+1文字分の領域が必要であるが、 3文字分しか確保されていない。
From:
<clng:array size="3"> <clng:var type="char" name="strData"/> </clng:array>
To:
<clng:array size="4096"> <clng:var type="char" name="strData"/> </clng:array>
ID: 2005031502
Target:
mappingSchema grammar
Description:
bitlenは、読み込む場合はinパラメータ、書き込む場合はinoutパラメータとして利用。 Javaも、inoutパラメータを実現するため、int[]型を用いてインタフェースを変更。
From:
<clng:arg type="int" name="len" direction="output"/>
To:
<clng:arg type="int" name="len" direction="in"/>
あるいは
<clng:arg type="int *" name="len" direction="inout"/>
ID: 2005031503
Target:
mappingSchema grammar
Description:
Javaで、8bitの倍数でない長さのbitデータを扱う場合、 ビット長を渡さないと有効なデータ長を識別できない。
From:
<java:arg class="StringBuffer" name="outputBuffer" direction="output"/>
To:
<java:arg class="StringBuffer" name="outputBuffer" direction="out"/>
<java:arg type="int" name="bitlen" direction="in"/>
ID: 2005031504
Target:
mappingSchema grammar
Description:
len はバイト長かビット長かが識別できない。input は inout と間違え易い。
From:
<clng:arg type="int" name="len" direction="input"/>
To:
<clng:arg type="int" name="bitlen" direction="in"/>
ID: 2005060901
Target:
mappingSchema grammar (allowed path to data,value)
Description:
data, value への path の考慮もれ。 基本的に、RELAX NG で許される経路は mappingSchema でも許容されるべき。
From:
dat:byte|dat:bit / lang:value-of / data|value
dat:byte|dat:bit / dat:data|dat:value
To:
dat:byte|dat:bit|dat:list / lang:value-of / data|value
dat:byte|dat:bit|dat:list / dat:data|dat:value
ID: 2005060902
Target:
mappingSchema grammar (allowed path from list)
Description:
list からの path の考慮もれ。 基本的に、RELAX NG で許される経路は mappingSchema でも許容されるべき。
From:
dat:list / dat:byte|dat:bit
To:
dat:list / dat:byte|dat:bit
dat:list / lang:value-of / data|value
dat:list / dat:data|dat:value
ID: 2005060903close
Target:
java.xsl (template listEnd)
Description:
LiteralExtension.String2Literal でラップする。
From:
文字列リテラルに埋め込む際にエスケープ文字 (\) を 正しく取り扱っていない。
To:
ID: 2005060904close
Target:
java.xsl (list)
Description:
実装する。
From:
line 178 付近 : separator 属性に応じた処理が抜けている。
To:
ID: 2005060904close
Target:
java.xsl (template listEnd)
Description:
コンテナ終了処理漏れ。
From:
To:
line 194 付近に、cont10 コンテナの終了処理(line 48-62 相当)が必要。
ID: 2005060905close
Target:
*Tokenizer*.java
Description:
クラス修正及び新規作成。
From:
一文字づつ探査している。
処理した文字数を保持していない。
To:
String クラスのメソッドを使う。 処理した文字数を保持するようにする。
ID: 2005060906
Target:
generated source code
Description:
xsl を修正(本体側のみで可)。
From:
元の ums のタグとの対応が読み取れない。
To:
コメントにタグを追加する。
ID: 2005060907close
Target:
UMSLibrary.java
Description:
修正する。
From:
W3C_TypeConversionLibrary を直接呼び出している。
To:
TypeConversionLibrary を経由で呼び出す。
ID: 2005060908close
Target:
test program sample (ChoiceOneOrMoreSamleTest.java)
Description:
処理を追加する ( これにあわせて、生成されたソースの サンプルも見直す必要あり )。 メソッド名を分かりやすくする。
From:
値を1つしか保持できない。
userProgram11(), userProgram21()
To:
任意の個数を登録し、読み出せるようにする。 全て読み出した後は、no data 例外を発生させる。
pushValue(), popValue()
ID: 2005060909
Target:
mapping definition sample (choiceOneOrMoreSample_java.ums)
Description:
記載しても良いが、逆に1行につめてしまい、例の数を増やしたほうが良い。
From:
改行コードを記載していない。
To:
ID: 2005060910
Target:
LiteralExtension.String2Literal
Description:
\n, \t などに変換する。
From:
改行コード、タブなどが入力された際にそのままリテラルに埋め込まれるため、 ソースコードが読みにくい。
To:
ID: 2005060911
Target:
ChoiceOneOrMoreSample.java
Description:
処理を正しい位置に移動。 一般的に、開始タグに関する処理は、開始タグコメントの 次の行から空行を挟まずに記述し終わった段階で空行を入れると良い。 終了タグはその逆。
From:
Line 129: oneOrMore の終了処理のはずだが。。
To:
Line 146: ここら辺?
ID: 2005060912
Target:
ChoiceOneOrMoreSample.java
Description:
処理変更。
From:
Line 227: choice の次に分岐している。
To:
choice の最後に分岐すべき(弟妹タグないときに振る舞いが誤る)。 Line 289: Case -5: などと追加。
ID: 2005060913
Target:
ChoiceOneOrMoreSample.java
Description:
分岐先で処理を続けたいのだとおもう。。 break; continue の使い方を見直す。
From:
Line 228: break;
To:
Line 228: continue;
ID: 2005061501
Target:
サンプル
Description:
追加する。
From:
ID 2005060901, ID 2005060902, の試験ケースがない。
To:
ID: 2005061502
Target:
ums 文法
Description:
追加する?(要件等) tokenizer に separator 用のメソッドを追加。 xsl に separator 用のエンコードを追加する。 例は delimiter + separator に変更。
From:
list/@separator のみ
To:
list/@delimitor
ID: 2005061503
Target:
マッピング処理
Description:
datatypeLibrary: 固定値のマッピングが実は未対応 (datatype library 対応後もしくは、今期末にペンディング) 本体: 反映後、choiceSample_java.ums および txt_ccom.xsl を改定。
From:
ums:data, dat:value というしょりしか実装されていない。
To:
dat:data, ums:value を追加する必要あり。
ID: 2005061504
Target:
生成ソース
Description:
/* not break */ を明示する。
From:
To:
ID: 2005061505
Target:
choice 生成ソースイメージ
Description:
「in/out 引数」問題。
From:
To:
ums_dat のメンバに代入。
ID: 2005061506
Target:
ソースコード生成
Description:
XSL を変更。
From:
マッピング定義との対応がぱっと見て分からない。
To:
mapping 定義のタグをコメントとしてソースコードに出力する。
ID: 2005061507
Target:
ソースコード生成
Description:
XSL を変更。
From:
局所変数を利用している。
To:
「タスクスコープの変数」を利用。
ID: 2005060913
Target:
test of subversion
From:
To: