オルタナティブ・ブログ > 森崎修司の「どうやってはかるの?」 >

計測できそうでできない多くのこと。エンピリカル(実証的)アプローチで。

電車の運賃計算、首都圏では10の40乗通りのパターンに。自動改札機のテストはどうする?

»

ソフトウェアテストシンポジウム2011関西の基調講演「妨げない・止まらない・間違えない自動改札機の開発」(オムロンソーシアルソリューションズ 幡山 五郎氏)にご講演いただきました。非常に難しい内容を明快にご説明くださっていて、たいへん興味深くお話を伺うことができました。講演資料もプレゼンテーション(お話)も非常にわかりやすいものでした。

首都圏の鉄道では運賃計算のための経路が10の40乗を超えるそうです。その内訳は、単純に乗り降りの駅の間の運賃を計算するだけでなく、定期券の併用を考慮し、定期券の前後で通常の運賃を支払う場合や、乗り継ぎでいったん改札を出た後で時間をおかずに別の改札を通った場合に割引がある場合(首都圏では同一駅で東京メトロから都営に乗換えるような場合、関西では東梅田、梅田、西梅田へ乗換えるような場合)のように、かなり複雑なパターンを考慮する必要があるそうです。

運賃計算が正しく実装されているかどうかを確認するために、実機用と検証用のプログラムを別のチームで作成し、2つの結果を突き合わせるそうです。実機では、計算機リソースの制約から運賃テーブルを使ったり計算時間を50ミリ秒以下にする必要があったりします。場合によっては、それらの制約が原因となって運賃計算を誤って実装される場合があるそうです。一方検証用はそのような制約がほとんどないので、運賃計算のルールに近い形での実装が可能になります。2つの結果が異なる部分があれば、いずれかが間違っていることになります。

他にも、切符や磁気カードを読み取る機能に故障が起こったときには、その部分だけを切り離して無線ICカード部分のみで稼働する等の機能もあったり、改札機プログラムやデータの更新も万一の場合のために、切り戻し用に更新前のプログラム・データを保持したまま更新したりする機能が備わっているそうです。

ソフトウェアテストシンポジウム2011関西のWebで当日の講演資料を公開していますのでご覧ください(私は2011年の共同実行委員長でした)。特に組込みソフトウェア開発に携わられている方には興味深い内容になっているのではないかと思います。

2012/1/20(金)に浜松で幡山氏による自動改札機の開発のご講演を聞ける「東海地域ソフトウエア技術者連携フォーラム」を企画しました。詳細はこちらから。ソフトウェアテストシンポジウム関西ではテストに携わる技術者の方を中心にお話を組み立てていただきましたが、今回は組込みソフトウェア開発者向けに組み直していただいています。

参加費は無料ですが、事前登録が必要になります。その他、東海地域の企業に所属する4名のソフトウエア開発に携わる技術者がパネリストを務めるパネルディスカッションを予定しています。情報交換会も計画していますので、この機会にぜひ技術者どうしの連携を深めていただければと思います。他社の話を伺うことは新たな知識やノウハウを手に入れるだけでなくご自身の開発を振返るきっかけになると思います。

Comment(0)