netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-06-23 古い日記からの変換データ ▲
_ [論文] 複数ビューのサポート環境 ▲
Andrew P. Black, Mark P. Jones:The Case for Multiple Views.Proceedings of Workshop on Directions in Software Engineering Environments (WoDiSEE) 2004,in conjunction with ICSE 2004, pp.96-103, May 25th, Edinburgh, Scotland, UK, 2004.
Traits を提案している人たちの提案.Traits を展開したビュー,完全に階層的なビューなど,見せ方だけを変えたビューをいくつも切り替えていくことができたら理解容易性などが上がってよいね,という話.統合開発環境が,開発者が注目したい情報を表示する複数のビューを作れるように頑張る,ということになる.
アスペクトとかを展開済みの状態で見れたりすると便利かも?とか,有用性は想像しやすいのだが,実用的なビューの構築というのはどのくらいあるのか,とかビューを構築したときに情報を落とすとそのせいで問題が起こったりしないのか,とか気になるところではある.
_ [論文] アスペクト的パターンの適用 ▲
Imed Hammouda, Mika Katara, Kai Koskimies:A Tool Environment for Aspectual Patterns in UML.Proceedings of Workshop on Directions in Software Engineering Environments (WoDiSEE) 2004,in conjunction with ICSE 2004, pp.57-64, May 25th, Edinburgh, Scotland, UK, 2004.
クラスの相互作用のパターンを,アスペクトとして定義しておいてアスペクトを順番に適用していくことで目標のアーキテクチャを得る,といった考え方をしているらしい.で,モデルにパターンを適用していく作業をツールで支援する.
アスペクトとしてクラス間の相互作用を一部分ずつ規定していくことで,付けたり外したりして色々なシステムの構造を作れるね,というような形らしい.
ソースコード上でやったら Association Aspect に近いといえば近い?
2005-06-23 ▲
_ [論文][ツール][Java]Prospector ▲
あるクラスのオブジェクトから,別のオブジェクトを取得するために必要な経路を探すProspectorというツール.手元にある String から PrintWriter がほしい,というような入力を与えると,途中経路のサンプルコードが出てくる.JDKとEclipseくらいしか検索させてくれないけど,使い道がないこともないかもしれないのでメモしておく.
入力は路線探索みたいなインタフェースだけど,出力はさすがに路線図みたいなのは無理?
イベントハンドラなど,フレームワークからもらってくる(自分で作ってはいけない)オブジェクトについては,どうやったら手に入るかを調べることはできないし,作れないことを知ることも困難.また,多数のクラスに継承されているクラスが登場する場合,どのクラスを使うかによって経路が違うとみなされるので,多数の候補が並列してしまい,他の候補を押しのけてしまう.
元論文は,David Mandelin, Lin Xu, Rastislav Bodik, Doug Kimelman: Jungloid Mining: Helping to Navigate the API Jungle. Proceedings of Programming Language Design and Implementation (PLDI 2005), pp.48-61, Chicago, Illinois, USA, June 2005.
_ [hyCalendar] 1.2 準備 ▲
周期予定で,隔週の予定に対応してみた.そのかわり,ファイル形式が少しだけ拡張されたので,またバージョン番号を 1.1.2 ではなく 1.2 に上げておく.
また,設定ダイアログのページ数が増えてしまったので,ダイアログのサイズを少し横方向に大きくしてみた.またマニュアル修正タスクが発生.設定ダイアログの画像を自動撮影するツールがほしくなってきたので,キーボードマクロツールを調べてみることにする.
2006-06-23 ▲
_ [hyCalendar][お知らせ] hyCalendar 1.3.7 リリース ▲
約2ヶ月ぶりのリリースとなりました.プレビュー版から比べても追加のバグ修正がいくつも入ってます.
新機能は1つしかないわりに,修正したコード量,修正されたバグの数を考えると,1.0.0リリース以来の大改造となっています.いつもよりは回帰テストを多めに実施していますが,テストし忘れとかで問題が起きてたら,ごめんなさい.安全のため,ちゃんとバックアップ取ってからバージョンアップしてください.
別に機能的に変わったわけではないのですが,周期予定はマッチした結果を内部でキャッシュするようになりました.動作効率の悪いような周期予定の条件式が多数使われていた場合は,以前より少し描画が高速になっているかもしれません.
_ [hyCalendar] DUnit導入 ▲
ユーザの皆さんにとってはまったくどうでもいい話なので,分けておきます.
今回,hyCalendar内部の基本部品(URLの切り出し操作とか)については, DUnit による単体テストを適用するようになりました.現在ソースコードにして18,000行くらいですが,それに対してDUnitテストコードが1800行程度,ファイル数では58個に対して14個のテスト用ユニットを作っています.
Borland Delphi Studio 2006 では,「新規」-「テストケース」を選ぶと,既存のモジュール用の DUnit 用ソースの雛型を生成してくれるので,かなり快適に作業を進めることができました.
単体テストを書くと,モジュールの微妙な例外項目を発見できるので効果的ではあるのですが,怪しいモジュールを作ってた事実にちょっとへこみます…….テスト駆動型のほうが「こう動いたらいいなあ」と理想優先(?)で進むので,精神衛生的にいいのかもしれません :)