【準備中】連載: 気分はGroovy〜婚姻届問題《番外編》只今リハビリ中
思い起こせば、ここに連載するはずの記事を保留にしたまま、はや十か月余りが過ぎてしまいました。当初は、Groovy で記述する予定でしたが、やはり Java の呪縛(釈迦の掌の内にある孫悟空?)からは逃れられそうになく、将来の明るい見通しも立ちそうにもないので、断念せざるを得ないという状況です。その間 Ruby/Python からも遠ざかっていたので、今はリハビリ(?)を兼ねて、別の連載を担当しています。今後は、Groovy/Pnuts に代えて、Ruby/Python などで記述した事例を紹介する予定です。
この「婚姻届問題」は、自然言語で記述された要求仕様とは別に、VDM++ で記述された要求仕様に従って、Smalltalk で実現した事例がもとになっています。別解として、これと同等の(やや見劣りはしますが)JML/Java で実現したものがあります。
この事例は、一般的なグラフ探索を、限定的に扱った問題として捉えることができます。単純な木の探索と違って、両親が別々の家系図に属していることから、「三親等にある」という関係をどのようなモデルで表現するかが鍵となります。さらに、応用問題として、RDB を使ったデータベーススキーマの定義を考案してみるのも面白いでしょう。
過去に「未成年男子17歳を含む婚姻届けが受理された」という不手際がニュースにもなりました。現実的な問題として、役所の窓口では、婚姻の条件を満たしているかをここまで厳密に調べることはないでしょう。しかし、このようなシステム開発の発注があったと仮定するなら、興味深い課題になるかもしれません。みなさんも、いろいろな事例を実現してみると、その理解が深まるかもしれません。
形式手法の適用は、先進的な欧米企業の取り組みに比べて、まだ多くの日本企業(大学や研究機関は別として)は発展途上にあると言えます。しかし、先日の「NTT ひかり電話」の障害の原因が「アルファベットの大文字を誤って小文字で入力したこと」にあると聞くと、対岸の火事とばかりも言っていられません。さあみなさんも、そろそろ危機感を持って、形式手法に本腰を入れて取り組んでみませんか。
==================================
後藤いるか 著 ◆ 監修:小泉ひよ子とタマゴ倶楽部
| 固定リンク | コメント (0) | トラックバック (1)
