|
目次 |
|
目次 |
|
はじめに |
|
進捗状況 ── 中間発表(2)から今日に至るまで |
スパゲッティが主食と化して約4ヶ月。研究目的で調達した多量のスパゲッティを見て「卒業までに食べきれないぞ...」と漏らしていたのも、今や在庫の底は見えてきました。 あれだけ食べてよく飽きないものだと自身に感心しつつ、アル・デンテの喜びのため...いや、一応「研究」のために、今もなおスパゲッティを食しています。
しかしながら研究の本題は、「プログラムからスパゲッティへの写像」の仕組みを提供すること。 そろそろプログラムに関する研究を行なわなければ開発もままならない...と焦り始めたのが、ちょうど2ヶ月前「中間発表(2)」の直後でした。
そして言い訳をぽろりと。やはり人間は「抽象的存在」よりも「具象的存在」が取っ付き易いらしく、 これまでスパゲッティ(具象的存在)の研究調査を行なっていた分、余計にプログラム(抽象的存在)への取っ付きづらさが強調されてしまったようです。 そう言って社会人生活を控えた最後の夏休みに現【うつつ】を抜かしておりました。。。(中四国地方のバイク旅)
小旅から戻ってようやく「プログラム」の調査に乗り出しました。まずは、既存のメトリクスツールの調査。
|
プログラムの性質 |
|
プログラムの計測と写像 |
(ツールについての調査。その対応言語や計測指標の種類、情報提示手法などに注目してまとめる。)
(試作として指標計測部(解析部)の制作にあたります。Smalltalkを用いるか、他を用いるか...。)
指標調査に対する困惑と開き直り ── No Silver Bullet
この研究では「プログラムをスパゲッティに写像する」という言わば「メトリクスツール」を開発することになるのですが、 そこで用いるべき指標について考えてみたところ、そもそも何を実現するために開発するのか自分自身理解していなかったことに気付き、困惑してしまいました。 自分ならあんなことを計測して表示したいけど、あの人はきっとこんなことを計測したいんだろうなぁ、一体どんな指標を用いれば良いのやら...。 しかし、よくよく考えてみれば、全物に有効で、全人に有意義な「万能の指標」など存在しません。 指標というものは、そのユーザの境遇(分野や立場など)によって異なるのが当然ですし、 それを私自身が勝手に「この指標を使えば良い」と決めつけて用意してしまうことは、むしろ有害なのではないかと考えたのです。
ユーザの環境は、ユーザ自身が一番知っていることですから、その写像に用いるべき指標も写像方法もユーザ自身で判断すれば良いではありませんか。 つまり私の為すべきことは、指標と指標とを関連付けることのみに専念する「抽象的メトリクスツール」(柔軟な写像の仕組み)を提供することです。 そして、その例題として具体的な指標を幾つか用意するまでが、本研究の目標となります。 例題を参考にして、ユーザ自身が自分なりの写像ツール(メトリクスツール)を組み上げれば良いのです。
一般的なソフトウェアメトリクスは、ソフトウェアプログラムを数値に写像するものであり、結局、プログラムに存在する指標値(順序あるもの)を数値(順序あるもの)に写像しているだけです。 メトリクスとはつまり、系から系への写像を行なっているに過ぎません。その写像元や写像対象は、プログラムであろうがスパゲッティであろうが、はたまた小説であろうがラーメンであろうが何でも良いのです。 従来のメトリクスツールには、そういった柔軟性(様々な対象を許容する性質)が欠けているのではと考え、本研究では、柔軟性(抽象性)を含んだメトリクスツールを開発しようと考えています。 具体的な指標に縛られるのではなく、あくまで「系から系への写像」ですから何でも指標として用いることができましょう。 系変換の枠組みを提供しさえすれば、あとは解析系や写像先の詳細などを後付け(プラグイン)で付与すれば、どうにでもできるはずです。
上記の二節を踏まえると、つまり単なる「系から系への写像」を行うツールを開発すれば良いのです。 写像に用いる指標をプラガブル(pluggable:差し替え可能)にして、ツールを利用するユーザ自身が適切な指標を選択することができる、 柔軟性(抽象性)の高いメトリクスツールを開発します。ソフトウェアからスパゲッティへの写像はもちろん、ソフトウェアからラーメンにも、 さらにはソフトウェアに限らず、例えばウェブサイトをスパゲッティに写像することも、論文をスパゲッティに写像することもできましょう。 対象を変身させる(比喩的に表現する)ことで、普段とは異なる視点で対象を捉え直すことができ、新たな発見にも繋がるでしょう。
|
スパゲッティへの写像 |
ほげほげ
写像の具体的内容については、研究ログ「新しいメトリクスツール #スパゲッティへの写像」
|
新しいメトリクスツール |
(新しいメトリクスツール「SpaghettiCode」または「CodeSpaghetti」(いずれも仮称)の簡単な紹介。アプリケーションやサービスとしての形態を図説する。)
ほげほげ
(メトリクスツールのこれからの展望を列挙。)
(とりあえずの試作品を作ってみて、設計の良し悪しを云々したい。早くこれに取り組まねば間に合わない!!)
新しいメトリクスツールを作る...という割に、自分自身はあまりメトリクスツールを使った試しがありませんでした。 その理由を考えてみたところ、やはり「わざわざダウンロードして解答してアプリケーションを立ち上げる」という操作が煩わしかったのです。 それに比べ、HTMLの文法をチェックする「Another HTML-lint gateway」は、 Webサービスとして提供されていて、気が向いた時に手軽にアクセスできて簡単に解析できるため、面倒くさがりの私もよく利用していました。
そこで、本研究で開発するツールにもその手軽さを与えたいと考え、Webアプリケーションとしてのメトリクスツールを開発することにしました。
Webアプリケーションとしてのメトリクスツールを完成させることができたらば、予てからの目標でもあったクロスプラットフォームのアプリケーション開発として、 主要OS上で動作するメトリクスアプリケーションを開発することにしました。これはWebアプリケーション版の開発を終えて余力があった場合のみ取り組むことになります。
|
今後の見通し |
|
さいごに |
|
発表後のご意見・ご感想など |
ほげほげ?
ほげほげ!
|
添付資料 |
発表に用いた資料類をご覧いただけます。(予定)