netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2006-05-06 ▲
_ [読書] ソフトウェアファクトリー ▲
Jack Greenfield, Keith Short with Steve Cook, Stuart Kent 著「Software Factories / ソフトウェアファクトリー」読了.研究室の輪講で使ってるので,あまり詳しく書くとまずそうだけど,本の全体像だけ.
ソフトウェアの開発をできるだけ自動化したい.1つの方法がモデルからのコード生成で,高い抽象度で(概念に近いレベルで)表現された命令から,それを実現するコード生成できれば,開発者の負担は大きく軽減できる.
そのためには,コンピュータが理解できる(parse可能な)モデルを作る必要がある.そこで,モデルの図ないしテキストで記述するためのドメイン特定言語(DSL)を定義して,それを理解できるような開発環境(およびそれを使ったプロセス)を構築する.
この開発環境は,特定のプロダクトファミリに限定したものとなるかわり,強力なサポートを開発者に提供する.
クラスフレームワーク(共通部分)を作っておいてそこに参加するクラス(可変部分)をモデルから生成する,あるいはパラメータ化されたパターンを自動適用する,コンポーネントのインタフェース記述と接続情報から接続用コードを生成するといったような開発インフラを作ることで,事前投入のコスト(開発環境の構築などのコスト)を一連のプロダクトを開発するときに回収できるだろう,と言っている.
端的には,設計段階でモデルを書くからにはちゃんとモデルの内容がコードに(できれば自動的に)反映されるようにしよう,というもの.コンポーネント間を接続する似たようなコードを何度も書くくらいなら,接続コードのテンプレートを作っておいて,開発者が対話パターンを指定するだけでコードが自動生成されればうれしい.
読んでると,いちおうそういうことが可能なんだな,という気にはなってくるが,ドメインによってどんなDSLを用意すべきか決めるには一連のプロダクトの共通性を発見する必要があり,これはけっこう難しいかもしれない.また,DSLを理解するエディタやデバッガ(しかも正しく動作するもの)を用意するのも,かなり大変なはず.
既存の重厚なプロセスやアジャイルプロセス,モデル駆動型開発,アスペクト指向やデザインパターンなどが一通り整理されており,今後の方向性を示唆しているという意味では非常に面白い本.まだちょっと先の話,という気もしないでもないが.
_ 学振の海外渡航の予定変更の場合の手続きとか,科研費の行使とか ▲
海外渡航の予定変更は,結局必要はなかったけど,せっかく電話して聞いたのでメモ: 海外渡航届で申請した日程と実際の渡航日程が少しだけ変わった場合(1ヶ月以内の「軽微な変更」の場合),公式な書類様式のようなものはなく,学振への電話連絡だけでよいらしい.学内用の事務書類としては「学振には電話連絡した,日程を変更した」といった旨のものを勝手に作ってね,となるらしい.
また,科研費の行使については,研究は継続してるはずなので学振的には(1年近く日本を離れていても)問題なくて,受入研究先の事務手続き次第となる.普通に使えることになったので,ありがたい.