この投稿では、通信仕様の理解方法について説明致します。
通信仕様は、次のステップで仕様を整理すると理解し易くなります。
ステップ1 階層
通信仕様は、OSI7階層を参考にして階層に分けます。その際、ノード同士が同じ機能の階層となることが重要です。ISO規格の通信は、階層毎に規格Partを分けていることが多いです。
ポイント:ノード同士が同じ機能の階層となること
ステップ2 各階層の状態遷移
各階層の状態遷移を分析して、各階層の状態と遷移条件を理解します。
ポイント:各階層の状態と遷移条件の抽出
ステップ3 各状態の通信シーケンス
各状態の通信シーケンスを分析して、通信フレームフォーマットとメッセージ内容、送受信順番、送受信の時間的制限を理解します。
ポイント:通信フレームフォーマットとメッセージ内容、送受信順番、送受信の時間的制限の抽出
ステップ4 各通信フレームフォーマット
各通信フレームフォーマットを階層に分けて、フレームフォーマットを分析して理解します。
受信フレームフォーマットは、その階層の付加情報を解析して、付加情報を削除してから上位層に渡します。送信フレームフォーマットは、その階層の付加情報を生成して加えてから下位層に渡します。
ポイント:通信フレームフォーマットを階層別にし、各階層での付加情報の抽出
ソフトウェア設計
通信仕様からソフトウェア設計する際は、上記のステップ1~4のポイントを整理してから次の設計を行うと設計がやり易くなります。
ステップ1のポイントからアーキテクチャ設計
ステップ2のポイントから状態遷移設計
ステップ3のポイントからシーケンス設計
ステップ4のポイントから付加情報の生成と分析設計、上下階層間のインタフェース設計