ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

モデル検査か、シミュレーションで気づけないの?docomoのSPメール問題

2012-01-26 22:47:42 | トピックス
 SPメールの問題が、どうして起きたのか、日経ネットワーク2012年2月号の14、15ページに載っている。

 これって、ロジック的なミスに見えるんだけど・・・

 こういうのって、モデル検査とかで、気づけないのかなあ?
 端末と各サーバーをモデル化して、やりとりのところを通信で書いて、
 「電話番号が一度振られたら、その後常に、電話番号は変わらない」っていうLTL式を書いて、
 SPINとかでチェックって、できないのかなあ?

 ま、この辺は、SPIN良くわかってないのでなんともいえないけど・・・

 NIIの吉岡先生とかが、こんなのをモデル化したら、きっとdocomoとKDDIは、
 TOPSEに大量に人を送り込みそうだ(^^;)



 ま、それはさておき、
 ネットワークのシミュレーションでも、気づかないのですかねえ・・?
 やっぱり、サーバーをモデル化して、電話をかけるエージェントを大量に発生させて、輻輳がおこるようになったら、どうなるか・・・とか・・

 こういった、非機能要件は、モデル検査やシミュレーション(モデル検査もシミュレーション見たいなもんなんだけどね)で確かめるようにしないと、まずくないですかね。
 レビューだけだと、複合的な問題が起きて、ロジック追えなくなった時に、思考停止して、見なかったことになってしまいそうな気がする・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

memcachedをWindowsXPにいれて、Javaで操作する

2012-01-26 16:09:58 | そのほか
今度は、memcachedをいれてみよう。WindowsXPに。

といっても、話は簡単。




■ダウンロード
 Windows用のものが、

memcached for Windows
http://www.splinedancer.com/memcached-win32/

にあるから、「Downloads」の「memcached 1.2.4 Win32 Beta Binaries」をクリックして、
ダウンロードする。

そしたら、解凍する。




■インストール

インストールの仕方は、

memcachedのインストール
http://pentan.info/server/windows/memcached.html

に書いてある。

私の場合は、解凍したフォルダを、「memcached」というファイル名にかえ、
C:¥Program Files
の下に置いた(¥は、本当は半角。以下同様)。

そして、

cd C:¥Program Files¥memcached
memcached.exe -d install

を実行した





■起動

で、このあと、

スタート→コントロールパネル→管理ツール→サービスを選ぶと、以下の画面

が表示される。memcached Serverをダブルクリック。
以下の画面が表示される・・・?

もし、サービスの状態が停止になっていたら、開始ボタンをクリックし、
サービスを開始させる。これでOK




■Javaプログラミング

memcachedとつなげる、javaのクライアントが必要になる。
今回は、


spymemcached
http://code.google.com/p/spymemcached/downloads/list


を使った。そこの「spymemcached-2.8.0.jar」をクリックしてダウンロードした
(注意:javadocとかをダウンロードしても、リンクできないから注意)

そうしたら、eclipseでプロジェクトを作成し、プロジェクトが出来たら
そのプロジェクトを右クリックして、プロパティを選択、プロパティダイアログで
以下のように、落としてきた外部jarを選択する。

そうしたら、クラスを1つつくって、

Examples
http://code.google.com/p/spymemcached/wiki/Examples

の「Simple Example」を参考にプログラムを作り実行する。
作ったプログラムと実行結果は、以下のとおり。

(mainがあるところを聞かれたので、このサンプルのものを選ぶ。
 赤くなりっぱなし(右下)なので、クリックして切らないといけないのかも)

今回はここまで。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

プロジェクトの完了日、クリティカルパスを、シミュレーションで確率的に求める方法

2012-01-26 10:46:46 | そのほか
プロジェクトのクリティカルパスを求めたり、
完了までに、何日かかるか?
という話は、情報処理試験に出てくる。

たとえば、ここ

平成19年 秋期 基本情報技術者 午前 問48
http://情報処理試験.jp/FE19b-am/k48.html


しかし、本来、プロジェクトの完了日を見積もるのに、標準日数だけで、よいのだろうか?

上記の図で、Aは、5日間と書いてあるが、
   本当は、最短で3日、最長で7日で、平均5日
かもしれない。

Hは、6日と書いてあるけど、
   最短で2日、最長で10日で、平均6日
かもしれない。

なので、標準日数を足していっても、本当に標準的な日数がわかるだけで、
実際は、早く終わってしまうときもあるだろうし、遅くなるときもあるだろう。
となると、標準日数を足すだけでは、だめだということになる。

どうするか・・・シミュレーションすることになる。

ということで、昨日、そのシミュレーションの話を聞いてきたので、メモメモ。
なお、例としては、上記の問題に書かれている図を基にする。
(昨日聞いてきた話は、違うアローダイアグラムだったけど、
 ここでは、それでやってみる)





■例(つけたし)

 上記「平成19年 秋期 基本情報技術者 午前 問48」
のようなアローダイアグラムになっているとする。

ここには標準日数しかかかれていないので、
最低これだけかかる、なんかあっても、ここまでには終わる(最高)という日数も
付け加えておこう。以下のとおり

    最低    標準    最高
A   3      5     7
B   1      3     5
C   4      5     6
D   8     10    25
E   5      5     6
F   6     12    24
G   3      3     3
H   2      6    10



Gの3、3、3というのは、3日で確実に終わるようなもの
(たとえば、申請書を出したら、受け取るのは、3日後とかならず決まっているようなもの)
また、Dのように左右対称にならないこともある。
(不確定な要素が多いようなとき)

パスは、図にあるとおりとする。

このとき、業務全体の所要日数と、クリティカルパスをしりたい。




■シミュレーションによる解法

1.A~Hまでの分布を三角分布に従うとする。
  そこで、A~Hの三角分布に基づいた乱数を1個づつ発生させる。

Wikipediaの三角分布

http://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E5%88%86%E5%B8%83

をみてもらうと、パラメータa,b,cとあるけど、それに上記の、最低、最高、標準が入る。
そして、これらの分布に基づいて、ランダムにデータを発生してもらう。

Rでシミュレーションする場合は、三角分布を作んないといけない
このひとが、ここで示している例は、
説明がないので、確かではないが、ようするに、一様分布(runif)から作っている。
(一様分布を足すと、三角分布になる)
後述するCrystal Ballは、三角分布が入っているので、問題ない。


2.各工程ごとの、日数を求める。

その情報処理試験によると、工程は5つ

1.A+B+E+G
2.A+B+E+(ダミー)+H
3.A+C+F+H
4.A+C+D+E+G
5.A+C+D+E+(ダミー)+H

1で発生させた各工程の日数を、上記各工程に当てはめ、各工程の日数をもとめる


3.2で求めた各工程の最大値が、所要日数で、そのパスがクリティカルパス
  →これで1こ分もとまった。

4.あとは、1~3までの流れを、10000回とか繰り返すと、だいたいいいかんじになる。





■実際にやるには

Rでやる場合、上記のように三角分布を作らないといけない
ほかに、Oracle Crystal Ballというのがある。
(こんなところにも、手を出していたか、Oracle!)

日本では、構造計画研究所が扱っている

http://www4.kke.co.jp/cb/


このソフトを使って話をきいてきたんだけど、そのまえに、Oracle Crystal Ballの話
をしないといけなくて、それはちょっと長くなりそうなので、ここできる。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

1月25日(水)のつぶやき

2012-01-26 03:33:15 | Twitter
13:06 from web
ジャクソン法のマイケルジャクソンの立場は(^^;)・・・「マイケル・ジャクソン」逮捕=すり容疑、同姓同名―モスクワ headlines.yahoo.co.jp/hl?a=20120125-…

by xmldtp on Twitter

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする