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

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

初めてのRubyを読む その31 6.3

2011-10-18 22:34:37 | そのほか

「初めてのRuby」を読むの続き

6章 変数と式
6.3 制御式
から




■6.3 制御式
・制御文と呼べないのは、値を返すから

■6.3.1 if式
・条件が満たされたときだけ、被制御式(then節)を実行する
  →thenは条件と被制御式があいまいにならない限り省略可能
  →偽の場合の処理も書ける→elseに書く

・elsif
 条件が成立しない場合の条件判断を重ねて書く
  →elsifであり、else ifでもelseifでもelifでも”ない!”

・if修飾子
  do_something if condition
  →改行、then,endが不要
  →条件と制御される式の順序が逆になっている点に注意

・unless
  →if notとわずかに表記が違うだけ
  →elseやelsifもある(elsunlessはない)




■6.3.2 case式
・値による多岐分岐を提供

  case value
when 1 then
do_something
when 2,3 then
do_something
else
do_something
end

・まずvalueを評価、それとwhenが一致するか比較、
 マッチしたらthen以下を実行し、最後の式が値
 どこにもマッチしなかったら、else句が実行

・範囲分岐
  when 1..9 then
 と書いた場合、1..9のRangeオブジェクトと一致するという意味
 でなく、その範囲に値があるということ

・正規表現による分岐
 正規表現を利用した分岐もよく行われる

・case比較演算子
=== 値が範囲のレンジ内にあるときに、trueを返す




■6.3.3 case式その2

 caseのあとのvalueを書かず、whenに条件を書くことも出来る




■6.3.4 While式
・条件が成立している間だけ、被制御部を繰り返し実行する

  while condition do
   do_something
  end

 doは省略可能

・後置while

  begin
   do_something
  end while condition

 と書くと、最初の一回は評価せずに実行する

・while修飾子
 もかける。1行で

・until
 ifに対してunlessがあるように、whileに対してもuntilがある


 

■6.3.5 for文
・配列などの要素に対して、被制御部を繰り返す

・ただし、eachイテレーターとたいして違わない
  →内部でeachイテレーターを呼んでいる




■6.3.6 イテレーター

・loop
 無限ループする
 脱出式がないと、困ったことに!

・times
 Integerオブジェクトがあらわす回数だけブロック実行
 カウンタを利用することも可能

・upto
 カウントアップする

・downto
 カウントダウンする




■6.3.7 脱出

・break
 現在の繰り返しから脱出
 入れ子の場合、最も内側から脱出
 breakに引数をつけられる
   →脱出したときの繰り返し構造の値となる

・next
 残りの部分をスキップして、次の繰り返しへ

・redo
 今の繰り返しをもう一度はじめからやり直す。




 

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

PMBOKのお勉強 その32 - 6.3

2011-10-18 19:34:38 | そのほか

今、

プロジェクトマネジメント 知識体系ガイド(PMBOKガイド)第4版
http://www.amazon.co.jp/dp/1933890681

のお勉強をしています。

前回は6.2章だったので、今回は6.3章です




■アクティビティ資源見積り


<<インプット>>

・アクティビティリスト
  6.1より

・アクティビティ属性
  6.1より

・資源カレンダー
  9.2より

・組織体の環境要因

・組織のプロセス資産


<<ツールと技法>>

・専門家の判断

・代替案分析

・公開見積もりデータ

・ボトムアップ見積もり

・プロジェクトマネジメント・ソフトウエア


<<アウトプット>>
・アクティビティ資源に対する要求事項

・資源ブレークダウン・ストラクチャ

・プロジェクト文書更新版
  以下のものがある(これらに限定されない)
     ・アクティビティ・リスト
     ・アクティビティ属性
     ・資源カレンダー

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

ソフトウェア・メトリクスとか、エンピリカル・ソフトウェアやる人のためのデータ(19日訂正)

2011-10-18 16:16:55 | そのほか
 エンピリカル・ソフトウェアっていう分野があります。

 開発時のバグとか、システムの大きさとか、いろんなデータを突っ込んで、そこからデータマイニングっぽいことをして、いろいろ知見を得て、開発の改善を図ろうとするものです。
 つまり、ソフトウェア・メトリクスと、にたりよったりなんだけど・・・




 さて、それらをやろうとしても、データないと、できないですよね。
 そのために、今からプロジェクトを起こすってのも。。。なんだ・・・

 で、そういうことをやりたいけど、データがない!という場合、
 お試しデータが無料で公開されている。

 NASAのデータらしい。
 (つまり、NASAのあるプログラムのサイクロマチック数とか、障害があったとか、大きさとか、いろいろなデータ)

 で、公開されている場所なんだけど・・・

ここここ

PROMISE Software Engineering Repository
http://promise.site.uottawa.ca/SERepository/index.html
http://promise.site.uottawa.ca/SERepository/datasets-page.html

(19日1時、URL訂正)

下から、Title/Topic:を選んで、クリック!
arff形式なのかしら?Wekaで直接読める??


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

UMLやSysMLをシュミレーションできるらしい、modelicaっていうのを聞いてきた!

2011-10-18 11:44:06 | トピックス
【SEC特別セミナー】
ディペンダブルシステムのためのモデルベース開発技術の最新動向

に行ってきたときのメモメモ。

 最後は、UMLやSysMLをシュミレーションできるらしい、modelicaっていうやつです。




■Modelica

・Modelicaは言語
  シュミレーション用に設計されたモデリング言語
  ツールではない。
  ツールは
     7つ商用ベースで開発
     Open Modelicaというオープンソースのツールがある

・Modelica
 宣言的言語:数学的バックグラウンド
 マルチドメイン:SysMLと似た考え
 すべて、クラスとして扱われる
 ビジュアルなプログラミング(テキストも可能、切り替えられる)
 効率性担保
 非因果をサポート

・マルチドメインについて
 サイバーフィジカルモデリングする
   いろいろなドメインを1つに書ける
 ビジュアル、非因果的階層型サポート
   →コントロールのSimulink型もサポート

・ハイブリッドモデリング
 連続離間と離散時間と一緒にモデリングできる

・グラフィック操作もできる

・Modelicaが使われているところ
 自動車業界でよく使われている 
 生物
  SPML.MathModelica
 リアルタイムシュミレーショントレーニング
 発電所
 スペースクラフト

・ライブラリ
  オープンソースと商用のもの


・いろいろなツールなど
 MathModelica
  MathmaticaとModelicaの統合

 MWORKS


 OpenModelica
 →ノートパソコンに入れて使える
 →Eclipseのプラグインもある
   (OpenModelica MDT Eclipse Plug-in)
   OMC:コンパイラ
   ModelicaML・・・UMLプロファイル
 →インポート・エクスポートも

 OpenProd

 ModelicaML UML Profile
 ・SysMLからModelicaへのマッピング→OMG
 ・UMLは現在
   PapyrusUMLtoolとOpenModelicaで実装
   Modelicaは、アクション言語として使う。
    →全部をモデリングできる

・シュミレーションしたい
  モデルチェッカー:連続時間では使わない。小さい部分
 →vVDRという検証方法
  モデル検証と統合も

・将来
 オンライン操作
 メタモデル(MetaModelica)
  オペレーション・セマンテック
  →もっとよめるもの
 マルチコア
 Fault-Failier分析
  トラック会社
  FTAを手で書いている
    ・人によって違う
    ・設計とつながっていない
       →モデルとつなげる

 モデルをつなげる
  →ベイジアンネットワークを生成させる

 ダイナミックな最適化




つまり、OpenModelicaというのを使うと、
Modelicaという言語で書いたもののシュミレーションが出来る。
そして、
SysMLやUMLからModelica言語に落とすものがあるらしい

ということ。

詳しくは、

言語のModelicaのサイト

Modelica and the Modelica Association
https://www.modelica.org/


ツールのOpenModelicaのサイト

http://www.openmodelica.org/


また、本については、

言語全体については、

Principles of Object-Oriented Modeling and Simulation with Modelica 2.1
http://www.amazon.co.jp/dp/0471471631


もっと薄い本で概略を書いたものとしては、

Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica
http://www.amazon.co.jp/dp/111801068X

を参照ってなかんじだった。




今知ったんだけど、これについて、いろいろ書いてある
Wikiがあった!!

OpenModelica
http://wiki.livedoor.jp/red_out/d/OpenModelica


インストールと、簡単な使い方が書いてある。

また、本も出ていて、

Modelicaによる物理モデリング入門
http://www.amazon.co.jp/dp/4274946819

翻訳本で、もともとの筆者は、自動車のフォードのエンジニアのようだ。

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

「SysMLの最新動向とシステム設計支援事例」をメモメモ

2011-10-18 02:05:32 | トピックス
【SEC特別セミナー】
ディペンダブルシステムのためのモデルベース開発技術の最新動向

に、いってきたときのメモメモの続き。
次に、「SysMLの最新動向とシステム設計支援事例」(豆蔵の人)のお話




・システム設計の課題
  大規模複雑化
  短期間
  協調設計の重要性(つじつまがあわせにくい)
  安全、環境

・モデル導入の効果
  →いままで、各分野にあったモデリング方法
     →それぞれの分野で溝ができる

・SysMLとは
 システムエンジニアリング系のモデル減g歩
 UMLベース
 →UMLでうまく表現できなかった部分を表現
    非機能要求
    パラメータ
    メカ・エレキ・ソフト全体構造

・SySMLの図

(1)要求図
  要求と要求、要求と派生している要求がわかる
   →他の要素と関係付けられる
  テストケースが結び付けられる:検査の仕方
  課題と根拠がどこでもつけられる

(2)ブロック定義図
  UMLでいう、クラス定義図

(3)内部ブロック図
  UMLでいう、コンポジット図
  ハードの人が書くブロック図に近い

(4)パラメトリック図
  パラメーター間の制約を表現する

・SysMLのメリット
 コミュニケーション・メディア
   →メカ、エレキ、ソフトの協調

・事例
 自動車ではEAST-ADL2が比較的良く知られている
 MBSE Wikiにいろいろ載っている
   →SysML Modelicaも

 SysMLのページも

 基本は、航空、宇宙、軍事系

 民製品への応用も

 Modelicaでシミュレーションできるかも

・日本では、試しているという状況
 (1)システム設計の見える化
     システム構造と要求の関連

 (2)協調設計支援
     システム設計→ハード/ソフト開発


・SySMLの難しさ
  柔軟すぎて、縛りを入れないと、何でもかけてしまう
    →UML以上に破綻?

  ハードとソフトの設計者のモデルに対する考え方の違い

  全体としては、UML以上に導入が難しい
   ある程度、手順、ルール決めしないと・・・

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