三日目のレポートです。
#11/20 10:00〜10:45
状態遷移設計の基本とツールによる効率化 河野さん スパークシステムズ
状態遷移設計の話。以前書籍を買って勉強したけれど、それを裏打ちする情報を得たくて参加。
この会社はツールを売っている会社。
- 状態遷移設計とは
- 設計のためのヒント
- ツールの活用
状態遷移設計とは
ここでは表記方法としてUML/SYSMLを使用- 「状態」に着目した「振る舞い」の設計
- 「振る舞い」の対語として「構造」
システム全体を見通すための状態遷移設計とソースコードを起こすためのものがある
前者の「システム全体を見通すためのもの」にフォーカスする
状態とは何か
区分可能な状況に名前をつけて定義したもの
状態が違えば同じ入力でもレスポンスが異なる可能性がある。遷移とは
状態が変化すること- イベントによるもの
条件によるもの
遷移の前後で処理がある可能性を考慮
表記方法
表記例など
イベントドリブンな処理が多い場合、それを記述しやすい
イベント、状態を中心に全体を見渡すと見え易い、考えやすい。
並列処理を記述しやすい(複数のステートマシンを定義する)設計の流れ
- 状態の抽出
モジュール全体、外部、内部 - 状態間の遷移の抽出
- 操作の流れに沿った遷移の検討
- イベント抽出から状態(どうあるべきか)を考える
- 状態の抽出
状態抽出のヒント
イベント処理の場合、処理中がステートの場合が多い
具体的な状況からステートを抽出する- すべての出力パターンを考える
- すべてのパターン同士をつなぐイベントを記入
- 共通のものを見出す
状態の共通性、親子関係を見出す
矛盾なく、無駄なく
注意点
手順にならないように
考えるのは「状態」であって「手順」ではない。
=> 製品から見た時の動き を考える
これは、ユーザから見た時の動き(ユースケース)とは異なる。より良い状態遷移設計のためのヒント
- 状態をまとめる
階層的な構造を持ったステートを作ると見やすくなる可能性 - 色や線の太さで区別してみる(異常と正常、通常と緊急など) 見通しが良くなる
- 利用する要素を最小限にして直感的にわかりやすく(図を書くのは見通しを良くするため)
- 状態をまとめる
###感想:
わかりやすい話だったし、具体的な図の書き方が理解できたような気がする。
ツール自身は比較的安価だったので、お絵かきツール的なレベルでとりあえず使ってみるのもいいかもしれない。
まずはやって見るところから始まるし。
2015/11/20 13:00〜13:45
IoT通信技術が生む、新たな価値・サービスとは? 和泉さん 株式会社日新システム
日進システムさんでやられているIoTデバイス(ハブ)を中心とした解説。
ざっくりまとめると
- IoTは現在幻滅期に入っている(ガードナー ハイプサイクル 2015年版)。
- デバイス側は未だ標準化されておらず、ビジネスが立ち上がるまで数年かかるだろう。
- Industry 4.0 などはIoTを生産基盤としてとらえているが、まだ夢の話。現状できることからはじめるべき
- 実例として920MHZ帯(Wi-SUN)の活用例
- PDR、音波ビーコンによる室内の位置検出
- Wi-SUNのネットワークを3Gと相補的に使うことで、長期バッテリ動作のシステムが構築できる
と言った感じ。
感想:
ということで、Wi-SUNが使えそうかなあと思い調べて見ることにする。
2015/11/20 14:00〜14:45
産業向けIoTの実現に必須のセンサ計測とエッジコンピューティング 岡田さん 日本ナショナルインスツルメンツ
NIでのIoTの取り組みについて。
実世界はアナログで動いており、それをそのままサンプリングした場合データが膨大になる。なので、エッジデバイスできちんと処理をしてあげましょう。という話。
キーワード:
- 構造化データ(処理データ) <ー> 非構造化データ(生データ)
- 「ビッグ『アナログ』データ」TM
- マルチモーダルなセンシングシステムでは、相互のデータの同期が重要ー>NIでのソリューションで解決可能
全体的に既知の内容でしたので、ばっさり省略。
感想:
NIは比較的大きな規模のIoTデバイスを想定している。特に動画・画像系の処理に注力している感じ。AlteraなどがSoCで実現していることを、計測ボード(ユニット)で実現し、TATを短くすることで付加価値をつけるというスタンス。
(しかしながら、LabViewが有効なツールだとは思えない)
大型のデバイスを持ち込むことで高度な処理を比較的短時間で具現化できること、変更が容易であるため観測対象が変化した場合も同じ構成のハードウエアで継続的に処理できる可能性をアピール。
2015/11/20 15:00〜16:30
どう使う?IoT時代のオープンソース パネルディスカッション
モデレーター:進藤 智則 NikkeiBP
パネリスト:
- 姉崎 章博 NEC
- 太田 寛 日本マイクロソフト
鈴村 延保 アイシン・コムクルーズ
パネリストについて詳しくはこちら
太田氏:
- プロトコルなどが高度化し速い速度で入れ替わっている時代に自前でコーディングするのは不可能に近い。そのためOSSの利用は必須といってもいい。
(他に注目すべき発言なし)
鈴村氏:
- 自動車の業界ではOSSを利用することはかなりハードルが高い(ライセンス)
- ただ、OSSのプラットフォームや考え方は社内の開発ワークフローに導入すべき
レビューの管理、工程の可視化、ドキュメンテーションなどなど。。 - 特にGitHubの環境は開発に最適と思われるのでどんどん活用するべき
姉崎氏
- OSSのライセンスについて間違った考え方をしている人が多い
- ライセンスは「契約」ではなく「許諾の条件」である。
- 著作権により著作物の複製・2次利用は
制限著作者の専有の権利とされているが、
BSD・GPLなどのライセンス条項は「こういう状態で配布すれば著作権で主張される権利を一部緩和著作者が専有する権利の行使を許諾しますよ」ということ。 - よって、ライセンス違反は著作権の侵害となる。
IPAのOSSライセンスについてのレポートはこの点で嘘が書かれている
2015/11/25:講演者の姉崎さまに当ページの記載についてご指摘いただきましたので修正しました。ありがとうございます。姉崎さま。
感想
マイクロソフトの話は大したことは無く、いつも大口を叩く割にアタリマエのことしか言ってない。
一方、鈴村氏はミッションクリティカルな分野でOSSの活用を考えており、OSSそのものよりそれによって導きだされた開発環境や手法が有効であるとの発言で、それには重みを感じた。
姉崎氏のライセンスの話は、OSSライセンスの概観とともに考え方についても語られており、大変参考になった。
@ITの記事をリンクしておきます。
感想
OSSのライセンスは正直良くわからないことが多かったが、今回のtalkを聞いて概要がつかめたような感じがする。今後活用することもあると思うので、勉強したい。
また、GitHubの活用についても、「使い方」ではなく「ワークフローのあり方」とGitHub上でそのあるべき姿をどのように実現するのか・できるのか、という点から勉強しなおしてみたいと思った。