IPA未踏ソフトウェア創造事業2006年度下期千葉PM採択プロジェクト最終成果報告会

http://www.mitou-chiba.org/
行ってきた。

SELinux

正直、あまりよく知らなかったので、普通に勉強になった。
しかし、SELinuxというのは、かなり複雑な仕組みだね。何を基準に複雑というのかにもよるけれど、プログラマはこのくらいの複雑さは普通に扱うけれども、セキュリティの件はどちらかというと運用側の話だから、運用担当者の視点からはちょっと手に負えないくらい複雑な気がするよ。
発表は、ユーザーサイドで動くPostgreSQLというアプリケーションを、SELinuxというOSのレイヤのセキュリティの仕組みを使って、情報リソースへのアクセス制御を行うというもので、セキュアOSという概念のRDBへの自然な拡張を実現したというものでした。
気になった点が2つほど。

  • 行へのアクセスの制御のために、動的にSQLを変換するという説明があったのだけれど、そのことが実行計画に与える影響はどの程度のものなのだろう?
  • 単一プロセスで動作するWebアプリケーションサーバーは、内部的にさまざまな権限をもつユーザーをアプリケーションレベルで実装しているけれども、それらに対してSELinuxのレベルで異なる権限を与えることはできるのだろうか?(サブジェクトに、プロセスではなく、スレッドを指定することができるのか?と言い替えてもよいと思う)
Ruby

パネルディスカッションで、楽天の人が、Rubyに関する共通的な開発の仕事をしている部隊が20人くらいいる(記憶があいまい。ちょっと違う話だったかも)という話を聞いて、すげーとか思った。
私は会社では共通的な部分の開発をやっているのだけれど、共通的なところは技術的に難しいわりに、仕事をサボっていると思われがち(お客さんの業務に直接関わる部分の割合が少ないため)なので、人がなかなか確保できない上に、全社的に部品を共通化するという取り組みが完全に個人ベースでの取り組みになるので、全社向けに共通の部品の開発をするという部隊がそもそも存在しない。
まあ、私の会社が、それってどうなのよ・・・的な状態とも言えるが。
あと、楽天研究所がまつもとさんの協力を受けて、分散コンピューティング用のライブラリやフレームワークを開発しようとしている話を聞いて、それなんてerlangとか思った。

Wearable computing

大学にいたころに、この話はちょくちょく聞いていたような気がすると思いながら聞いていた。
この技術は、変な眼鏡をかけたり、不思議なセンサーを体中に装着したりして楽しんでいる、ちょっと危ない人達という印象を受けがちなのだけれど、ちょっと特殊な環境下では非常に有効な技術なんだろうなと思う。特殊というのは、例えば火災現場とか。
ただ、今日の発表は、意図的にそういう危ない印象を与えようとしている気がするので、真性なのかもしれないけれど。
アクティブデータベースとECAルールという概念は、初めて聞いた概念だった。言語マニア系の人にも受けそうな話だと思った。

Kodougu

SOAモデリング」という言葉を初めて知った。SOAは知ってるけど、SOAモデリングは初耳。
モデリングした結果を、モデルベースでテストする(E-R図をオブジェクト図でテストする)というのを見て、そういうこともできるのか、とか思った。でも、これって、テスト支援ツールみたいなものはあるのだろうか?
モデリングというのが、コミュニケーションツールであるという考え方には非常に賛同した。ソースコードがドキュメントという人を見かけるけれど、ものごとには表現に適した記述というのがあって、ソースコードで全てを表現するというのは無理があるんじゃないかなと思う。抽象的なことを表現するには、それに適した記述方法を選ぶべきだと。
そういう意味で、「ソースコードからモデルを自動生成する機能が欲しい」という質問(というか要望)があったけれど、あまり意義が分からない。自動生成できる程度の情報ならソースコードを読めば分かることで、ソースコードだけではわかりにくいところを補うのがモデリングのドキュメントとしての意義ではないのかと思うので。

昼の仕事、夜の仕事

オープンソースの開発って、みんな夜やってるんだなー。
ただ、パネルディスカッションを聞いて、夜のままでいいかもとちょっと思った(w