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

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

契約による設計が並列処理でも有効になるSCOOPという方法がある?-ごめん英語力ないのでわからん

2016-01-19 22:27:38 | Weblog
契約による設計(DbC)メイヤーさんの講演Part1 第80回先端ソフトウェア科学・工学に関するGRACEセミナー
をメモメモ(英語の講演だったので、間違っている所が多数あると思う。その点、割り引いてみてね!)




メイヤーさんの本、オブジェクト指向入門を訳した酒匂さんが来ていて(最前列にいる)、メイヤーさんと握手していた。

■コンテキストの紹介 石川先生から
・グレースセンターのグレースセミナー 80回
・チューリッヒ工科大学、Eiffel,DbC
・ACM ソフトウェアシステムアワードでeffel
・オブジェクト指向の大御所
・最近、アジャイル
・いろんなところで講演
・今回は並行プログラミング

■石川先生、吉岡先生、他一人で機材調整中
 メイヤーさんは、席外してる

■Concurrent Programming for non-heroes
・雪のせいで遅れた(冗談です)
・バックグラウンド
  US National Academy of Science
  Heroic programmers:並列
   →ユビキタスに関係

・Eiffel

・コンカレントプログラムの今
  哲学者の食事
    シンクロさせるのにセマフォ

・ダイクストラ68 Goto が有害
  →概念的なギャップ(GoToがあると)
    プログラミングと実際の実行間のギャップ

・他の例:銀行のtransfer(振り込みかなあ?)
  3つのアカウントを考える
  (Jane,Jil,Joan)
   100 0  0
 聞くも涙の物語(メイヤー先生、ハンカチ出して)

    0 100 0

   -100 0 100

  →コンフリクト起こる

・heroesバージョンだとうまくいく?

動的実行

南山大学でしゃべった

The inability to reason from APIs

・ジョブをすると
 スタティックコントラクト
 ダイナミックコントラクト
 事後条件

・1人目 事前条件満たす
・2人目 事前条件を満たすが・・・
  →相互作用が悪さする:並列処理だと

この講義のスコープ

コンカレントプログラムは「めっしー」

プログラミングにおける有利さ
 ・構造化プログラミングと
 ・オブジェクト方法論

 抽象化 OK
 バグ防ぐ OK
   :
 構造の再構成(構造からのぞく):構造化ではできない

 などなど。

・4つのリスク
 Data race
 Deadlock
 Starvation
 悪いアサンプションかなあ(4つめ書ききれなかった)

選択:SCOOPモデル
  静的タイプ
  動的データ
  インヘリタンス

プロセスの選択
  シーケンシャル;1つのプロセス
  コンカレント:複数プロセス

選択3;オブジェクトの構造をマップ
 ロボットの例

リージョン

選択3の結果

選択4:

シーケンシャルな視点:O-O x.r(a) A→B
    do body end

コンカレント
  lockがドイツ語なまりだとlogになる
  x,r(a)  ろっくしていたら?

選択5:
 必要なオブジェクト
  x.r(a,b,c)→排他的アクセスでa,b,c:DataRaceの保証

(ごめん、知らぬ間に6抜けた)

選択7:ブロッキング:シンクロナイズ

重要なポイント
1  x:T               昔のタイプ
2  x:(ごめん、かけなかった)    SCOOP

例:Hexapod robot
・6つの足 2つのグループ
・SCOOPバージョン
  requireがある

相互作用させないために、Waitさせる?
→ロックと言わない(概念はそうだけど)

哲学者の食事で
 separate 右と左

アプリケーション:ロボット

SCOOPの言語

SCOOPまとめ
・o-oモデリング
・DataRaceがないこと保証
・公平性
そのたもろもろ、いいことあり

(時間だけど)質問たーいむ
2つ
後半
・哲学者の食事は、他の方法でも分けられるよね
  →なんとかのほうほうをつかった??

(石川先生に)つづける?(質問した人)つづけよう

つづきます

・こぴぺについて

・スイス工科大の
  歴史
  EVE:検証

  スタティックテクニック   ダイナミックテクニック
 Eiffel 検証環境

 検証(ダイナミック)
  オートテスト
  オートフィックス

Software process agile method (新しい本のこと)

言語

そのほかの活動など・・

教育
 大学で
 MOOCS edx

http://se.ethz.ch
http://codeboard.io
Java,Python,C++とかでツール
http://eiffel.org




【わかったこと】
メイヤーさんは並列処理のheroesというのを研究していて
そこでSCOOPというのがでてくる
こいつで、条件を定義するようだ

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

概念モデリングについて

2016-01-19 15:40:29 | 開発ネタ
「概念モデリング」のお話を聞いてきたので、メモメモ



概念モデリング
 データ駆動型
   名詞を元に分析
 シナリオ駆動型
   ユースケースだと荒いけど、もっと細かく→オブジェクト

 ものの意味を捉える:名前付け
  用語辞書より構造を与えるという意味(クラス図)

要求工学のプロセス
 要求抽出・獲得
  ステークホルダー分析
  課題抽出
  ネゴシエーション

 要求記述
  要求のモデル化→概念モデリング
  仕様化

 要求検証
  インパクト分析・技術要素分析・リスク分析
  テスト・実行

 要求管理
  変更管理、追跡
  再利用

要求プロセスを取り巻く環境
 モデルにかかれていない用語、構造を使ってはいけない

概念モデルと要求
 シナリオはかこ、現在、未来を説明する手段
   キャロルなど:しなりおマネジメント

  現在のシステム→現在のしなりおー(リバースマネジメント)→現在のモデル
 
  現在のモデルー(変更仕様)→将来のモデル

  将来のモデル→求めるシナリオー(変更の実装)→将来のシステム

 モデルでできないこと(スコープ外のこと)が説明できるか?
  →できることを説明しても、すばらしいシステムで終わる

ドメイン知識
 ドメイン=対象とする世界、領域
 現状システムの理解には、ドメイン知識が不可欠
 ドメイン知識の例・・・

要求、ドメイン知識、現実世界、そして要求仕様
 要求+ドメイン知識+現実世界→要求仕様

■データ駆動型
 関連クラス
 未定義なもの:重要
 当たり前なものを疑う

概念とは
 ものの意味を表すため、ほかのものとの関係を用いて表現

概念モデルとは
 ドメインを的確に理解するためのモデル
 分析者の理解を他社に知らせるためのモデル
 クラス図など(関係を示せる図)で表す

概念モデルでは
 ものとものとの関係を把握するための多面的な分析を行う
 アクティビティ図、状態図、オブジェクト図、シーケンス図など

用語辞書か概念モデルか
なぜ概念モデルを
なぜ概念モデルをレビューする?
 質問に対する受け答え

概念モデル技術者の心得
・現実世界を説明するモデルを作る
・読者に合わせた抽象度を選択することも技術者の役割
・どのモデルを見せても、モデルを構成している概念を
 常に理解していなければならない

  アナリシスパターン:

■演習
 酒屋問題
 航空機のチケット問題

■とき方
 データ駆動型
  名詞を抽出する
    集約構造があるとしか示されていない
    同じ集約でも、意味が違う(持っている、入っている)

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

Openstackの上にCloud foundryが載っている場合、スケールアウトするには?

2016-01-19 12:37:16 | Weblog
いや、そんなに難しい話をしようとしているんじゃないんだよ。

■お題

こういう構成、よくあるよねえ・・・

このとき、APサーバーないしDBサーバーをスケールアウトしたい。
つまり、必要なとき(なにかトリガーが上がったら自動的)に、
  仮想サーバーをインスタンス化し、
  そのインスタンス上に必要な環境構築を自動で行いたい。

インスタンス化する時点で、
  仮想サーバーのネットワーク環境
  最低限のユーザー設定(ルート)
は必要。
その後、必要な環境設定としては、
  DBサーバーの場合
    MySQLインストールと設定
  APサーバーの場合
    Apache,PHPの設定
    アプリケーションを置いて設定
が必要とする。

このとき、
  IaaSはOpenStack
  PaaSはCloud Foundry
にしたい(富士通K5と同じ構成というか、K5に載せられるようにしたい)




■素直に考える

OpenStackで仮想サーバーインスタンスを自動化するなら
Heatだよねえ。

OpenStackのオーケストレーションサービス「Heat」を使ってみる
http://tech-sketch.jp/2014/07/openstack-heat.html


で、問題は、これで全ての仮想サーバーの設定は終わってしまうのかどうか・・・
それともCloudFoundryをインストールするのに、BOSHっていうのがいるのかどうか?

Cloud Foundryの件について@OpenStack Days Tokyo 2015
http://www.slideshare.net/foobaz3/cloud-foundryopenstack-days-tokyo-2015

(14シート目あたり)

さらに、Cloudfoundryがインストールされたら、今度はアプリケーションを
builpackでインストールするのかしら?

Cloud Foundryことはじめ
https://speakerdeck.com/tnaoto/cloud-foundrykotohazime



Cloud Foundryで学ぶ、PaaSのしくみ講座
http://www.slideshare.net/jacopen/paas-for-beginners

をみて、テキトーに言ってます
(間違ってるかも。完全にテキトー)

ただ、「Cloud Foundryで学ぶ、PaaSのしくみ講座」をみると、
Dropletっていうのがあって、簡単にスケールアウトさせてくれそうにも読める

K5だと、こんなこと考えなくても、簡単にスケールアウトしてくれるのでしょうか・・・

・・・よくわかりません(>_<!)

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

TwitterがSMAPで簡単に落ちた

2016-01-19 07:46:41 | Twitter
SMAPすげ~

バルスとタニタで落ちなかったTwitterがSMAPで簡単に落ちた
http://matome.naver.jp/odai/2145312376433756401

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

「スマホになりたい」小学生

2016-01-19 01:25:07 | ネットワーク

「スマホになりたい」小学生が『願い事』を書いた作文に考えさせられる…
http://buzzmag.jp/archives/46826

なるほど。あるある・・・

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