netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2006-05-02 [長年日記] ▲
_ 思いつき: DSL + Pointcut Generation = ? ▲
ドメイン特定言語(Domain Specific Language, DSL)を定義して,それをJavaなどのコード生成に使うことを考えると,生成された Java コードをデバッグする環境はあっても, DSL 上でのデバッグ環境を用意するのはちょっと面倒.また,DSL 上で書かれたイベントに,どのソースが対応するかを人間が手で調べるのはうれしくない.ソースコードのほうが粒度が小さいので,適切な位置でブレークポイントを設置してるかどうかも怪しくなってしまう.
これに対して,コード生成時に,DSL 上のイベントにきっちり対応するポイントカット定義を同時に生成する方法があれば,そこにデバッグや表明検査をアスペクトとして組み込んでしまうことができて,少しは幸せになれるかもしれない.単純な実装方法としては,DSL イベントに対応する場所に,対応するイベント通知用メソッド呼び出しなどを無駄に埋め込んでおくといった力技もありうる.
モデルから pointcut 生成するという話は SPLAT でも出てた気がするけれど,保守用コードを入れて意味のありそうな場所を捕まえるポイントカットを作っちゃう,というのは,良いやり方なのかどうか…….どうなんでしょう?