このページの先頭です

メニューを飛ばして本文を読む

ここから本文です

サイト内の現在位置

教員紹介

石川 冬樹 客員准教授 ISHIKAWA Fuyuki

  • 社会知能情報学専攻
  • 経営情報システム学講座
  • 国立情報学研究所
  • f-ishikawa(at)nii.ac.jp

はじめに: ソフトウェアの ”What” を書き、議論する

ソフトウェアの開発には様々な要素が含まれるが、とにもかくにも明確、正確にしなければならないのは、ソフトウェアの”What”、すなわち「そのソフトウェアが何をするか」である。”What”が不明確であるなら、誤解・思い込みに基づき、求められていないソフトウェアや、他の部品とかみ合わないソフトウェアができてしまうかもしれない。”What”が不整合を含んだり、品質基準を満たさなかったりするなら、その通りにバグを含んだり、品質基準を満たさなかったりするソフトウェアができあがってしまうだろう。このように、ソフトウェアの”What”は、プログラムなどの”How”、すなわち「どうやってコンピュータ上で動かすか」を議論することと以上に、本来重要なことである。
もちろん“What”が重要と言っても、コンピュータの世界を完全に無視して考えを巡らせるのであれば、プログラムとして実現できない("How”につなげられない)だろう。このため実際は、コンピュータの世界との媒介になるように「仕様」として、”What”を書き出すこととになる。上記のような「ソフトウェアの”What”をどう『うまく』モデル化・記述,分析・検証するか?」という問題に着目し、下記2つの領域において研究を行っている。

1.ソフトウェア工学: 要求や仕様におけるモデル化、分析・検証
(特に、形式仕様記述、ゴール指向要求分析、法解釈の分析、ビジネス分析など)

前述の問題は、ソフトウェア開発の現場でも非常に重要と考えられるようになっている。これに対し、仕様を正確に記述したり、様々な分析や検証を行ったりするための、要求工学や形式手法といった上流工程の技術が注目されるようになっている。しかし古くからある技術であっても、あくまで一般論であり、各々の現場にうまく当てはめ活用することは難しい。
このため、主に企業の開発者や研究者とともに、そういった技術をより活用するための研究開発に取り組んでいる。例えば、VDMやSPINなど形式手法と呼ばれる技術に対し、アプリケーションドメインに特化した活用方法の構築や、日本語を用いた「普通のやり方」との融合などに取り組んでいる。また当然ながら、ヨーロッパで盛んに研究されている手法Event-Bにおけるリファインメントの支援など、先進的な研究開発にも取り組んでいる。

2.サービス指向コンピューティング: Webサービス・APIやクラウドの連携における記述、分析、実現
(特に、サービス選択・サービス合成、SLA/QoS分析、適応的ワークフロー実行など)

一方コンピューティングの先端においては、サービス指向コンピューティングやクラウドコンピューティングといったパラダイムが注目されている。こういったパラダイムの中心には、「自分ですべてを作る・所有するのではなく、他人の作ったソフトウェアを使おう」という考え方がある。つまり、自分が望むソフトウェアを実現するために、人が提供するWebサービス(API)やクラウドを選び、迅速・柔軟に組み合わせるということである。
しかし、他者により提供されるWebサービスなどは、中のプログラムなどを見ることも触ることもできない。すると、それらの”What”だけを明確にし、自身が求める”What”と照らし合わせて分析を行っていくことになる。細かい”How”の話をせずに済むという嬉しさがある一方、機能や品質の分析や保証を行うための考え方は大きく変わってくる。
これに対し、Webサービスの機能や品質に関する記述に基づいて、利用するサービスをうまく選び、組み合わせる技術の研究開発を行っている。具体的には、微妙に異なる機能を持つサービスの機能比較分析や、サービス停止などに備えた適応的な実行計画の構築などに取り組んでいる。

教員紹介