情報処理学会 第188回SE・第37回EMB 合同研究発表会の東芝 研究紹介を聞いてきたので、メモメモ
■ソフトウェア開発現場における仕様化の意義を考える
・自己紹介と本日の話題
IoTテクノロジーセンター
・ソフトウェア要求仕様
ソフトウェア要求定義アクティビティの出力の1つ
・問題意識
ソフトウェア要求仕様を書くにあたり、
利用できるものはいろいろある
上手くかけない、どう書いたらよいかわからないという声をよく聞く
こうすればよいといえない
ソフトウェアとして何を作るのかにあたり、何をどこまで
要求仕様として決めるべきことは、どこまで書く
今日は機能仕様に着目
・エレベーター制御ソフト
USDMで
機能仕様書を書く→内部仕様書を書くことと、ほぼ同義
表→書ききれない
↓
性質を内部で「何をするか」という観点で書く
・内部仕様に着目する理由
国内で仕様を決めて、海外へ設計・実装を委託する場合
・概念レベルでは、混乱必死
・詳細設計レベルはナンセンス
内部仕様
ソフトウエアが何をするかを
ソフトとしてどう実現するかの観点を一切排除して書ききったもの
そう考えると
コードを書くのと並行してきまり、暗黙知
製品ノウハウそのもの
・ソフトウェア設計前に内部仕様を書き切れれば
仕様のヌケ・誤り・矛盾を検出でき、後戻りを大幅削減
USDMは(個人的には)最良の選択
さらに内部使用を計算機処理できるように形式的に書けば・・
・「照明強度を決定する」を形式的に書いてみる
変数は仕様?(前回値)
10ms前の3%→10msに時間を計ることか?
(1msごとにはかってもOK)
・VDM++で要求仕様を書いてみる(内部仕様)
重複がない→会員番号1からはじまり、1ずつ足す?
・状態遷移図(表)で要求仕様を書いてみる
・アジャイル開発でも、内部仕様を書く、は必要か
作りながら決めていく
SCRUM
プロダクトバックログ
内部仕様は?
・ソフトが何をするかを書くとは、何を書くことを言うのか?
記述の程度をある程度客観的に判断する記述は
どんな記述文法が最適か
VDM,Event-B?DSL?
・学術界への期待
■自然言語解析による要求仕様の品質
・要求仕様の品質を向上したい
要求しようの品質を上げるにはコストがかかる
→一定のレビュー品質が確保できない
・自然言語解析を用いた要求しようの品質向上手法
自然言語解析で要求仕様書を機械的に分析する
USDM形式→DFD形式の要求仕様への自動変換
命題
モダリティ:意図表現(修飾や強調)
・モダリティを用いたDFD生成
記述者の意図表現を用いて
要求仕様
自然言語解析による要求仕様情報の抽出
形態素解析
かかり受け解析
モダリティ解析
自然言語解析結果
自然言語解析結果からDFD構造の生成
単文はDFD構造へ写像可能
モダリティを利用したDFD構造の変形
モダリティで変形ルール
DFD構造の統合
自動生成されたDFD
構造化された要求しようの品質評価
構文チェック
用語の意味チェック(反義語)
生成されたノード・エッジ要素の名前分析によるヌケ・モレ
連結グラフの断絶
要求のヌケ・モレ
まとめ
・自然言語懐石を利用して、要求仕様を形式化する手法を開発
・モダリティを利用することで自然言語からのDFD自動生成を高精度化
■セキュアシステム構築方法論と適用事例
1.情報システムセキュリティの現状
・脆弱性
・インシデント報告件数
・Webサイトの改ざんが多い
・制御システムのインシデントも
セキュアシステム開発の必要性
2.東芝での取り組み
・情報システムに対する脅威
欠陥要員の排除
・ソリューションのセキュア化の実現
設計への盛り込み
出荷時の安全性
運用時
ソリューションのライフサイクルで一貫性
→セキュアSI
・セキュアシステム構築方法論(セキュアSI)
上流設計段階から分析に基づくセキュリティ対策の作りこみ
テスト・運用段階で必要なセキュリティ
業務分析フェーズ
上流設計フェーズ
セキュリティSLA対策
下流設計フェーズ
パラメータのテンプレート
実装
セキュアプログラム
ソースコード解析
テストフェーズ
セキュリティ機能テスト
脆弱性検査
リスク再評価フェーズ
システムSLAをみなおし
メンテナンス
セキュリティレベル維持
個別手法紹介
業務機能セキュリティ分析
セキュリティ脅威の洗い出し→対策
業務環境の抽出
分析範囲の決定
脅威発生箇所の抽出
脅威分析
セキュリティ対策要件
→テンプレート作成、TCリスト
基本的考え方
脅威発生箇所
情報資産
セキュリティ脅威
セキュリティ対策
3.適用事例
・個人情報システム
・Web予約システム
4.最後に
・今後の課題と取り組み
制御システム向け
ISA Secure SSA EDSA
運用時のセキュリティへの取り組み
運用後
セキュリティインシデント発生後
■FlashAirのIoT応用に関して
・自己紹介
・FlashAirとは
メモリ+無線LAN+Webサーバー
・基本的な動作
ファイルを書く
無線LAN経緯でデータ読み込み
・内部構造
ブリッジチップ
SDカード
NANDフラッシュ
・CPU:消費電力意識、20年前のPCくらい
・プロトコルスタックは内製
→シミュレーションが可能
・開発経緯
2000年 無線LAN向けLSI
2003年 無線AV伝送技術
プロトコルスタック積み上げ
2007年 組み込み向けとして開発
2010年 無線つくSDカード開発開始
・初期のコンセプト
SDアソシエーションでの規格化iSDIO規格→ぽめら
・発売時のコンセプト
Webサーバーになり、カメラからスマホへ
開発者サイトの公開
→問い合わせ多数(1年くらい仕事とまるくらい)
→API情報をオープン化する方向性
・第三世代
Luaで記述、FlashAirを入れるだけで
データをクラウドにアップ
SDメモリの口→FlashAirでアップ
FlashAirハッカソン→GUGENにお金払って
GUGEN社と協業することでアイデアの具現化→マネタイズ
3000円はらっても→アイデアソン90人、ハッカソン60人
結構真剣に
製品開発と拡販のためのエコシステム
・ハッカソンの成果と今後の課題
アイデアの扱い、知財関係
ハッカソン→Webに載せてチャラにする
FlashAirのIoT応用
・HTML5でオレオレYouTube
・100均でWebサーバー
・Arduino,ルンバ(教材用)
・遠隔Lチカ
・電車模型
・Robiを天気を教えてくれるロボットへ
→Luaで天気予報を取得
まとめ
・無線LANつきSDカード
内製のプロトコルスタックを持っていたので出来た
・IoT向け無線LANつきSDカードの機能拡張
・その他
IoTは期待されているが、個々のマーケットは小さいので
情報公開を元にやりたい人が簡単にやれる環境を提供するのが重要
ハッカソンは参加メンバーが真剣に取り組む傾向
起業が開発するよりも効果的側面
■ソフトウェア開発現場における仕様化の意義を考える
・自己紹介と本日の話題
IoTテクノロジーセンター
・ソフトウェア要求仕様
ソフトウェア要求定義アクティビティの出力の1つ
・問題意識
ソフトウェア要求仕様を書くにあたり、
利用できるものはいろいろある
上手くかけない、どう書いたらよいかわからないという声をよく聞く
こうすればよいといえない
ソフトウェアとして何を作るのかにあたり、何をどこまで
要求仕様として決めるべきことは、どこまで書く
今日は機能仕様に着目
・エレベーター制御ソフト
USDMで
機能仕様書を書く→内部仕様書を書くことと、ほぼ同義
表→書ききれない
↓
性質を内部で「何をするか」という観点で書く
・内部仕様に着目する理由
国内で仕様を決めて、海外へ設計・実装を委託する場合
・概念レベルでは、混乱必死
・詳細設計レベルはナンセンス
内部仕様
ソフトウエアが何をするかを
ソフトとしてどう実現するかの観点を一切排除して書ききったもの
そう考えると
コードを書くのと並行してきまり、暗黙知
製品ノウハウそのもの
・ソフトウェア設計前に内部仕様を書き切れれば
仕様のヌケ・誤り・矛盾を検出でき、後戻りを大幅削減
USDMは(個人的には)最良の選択
さらに内部使用を計算機処理できるように形式的に書けば・・
・「照明強度を決定する」を形式的に書いてみる
変数は仕様?(前回値)
10ms前の3%→10msに時間を計ることか?
(1msごとにはかってもOK)
・VDM++で要求仕様を書いてみる(内部仕様)
重複がない→会員番号1からはじまり、1ずつ足す?
・状態遷移図(表)で要求仕様を書いてみる
・アジャイル開発でも、内部仕様を書く、は必要か
作りながら決めていく
SCRUM
プロダクトバックログ
内部仕様は?
・ソフトが何をするかを書くとは、何を書くことを言うのか?
記述の程度をある程度客観的に判断する記述は
どんな記述文法が最適か
VDM,Event-B?DSL?
・学術界への期待
■自然言語解析による要求仕様の品質
・要求仕様の品質を向上したい
要求しようの品質を上げるにはコストがかかる
→一定のレビュー品質が確保できない
・自然言語解析を用いた要求しようの品質向上手法
自然言語解析で要求仕様書を機械的に分析する
USDM形式→DFD形式の要求仕様への自動変換
命題
モダリティ:意図表現(修飾や強調)
・モダリティを用いたDFD生成
記述者の意図表現を用いて
要求仕様
自然言語解析による要求仕様情報の抽出
形態素解析
かかり受け解析
モダリティ解析
自然言語解析結果
自然言語解析結果からDFD構造の生成
単文はDFD構造へ写像可能
モダリティを利用したDFD構造の変形
モダリティで変形ルール
DFD構造の統合
自動生成されたDFD
構造化された要求しようの品質評価
構文チェック
用語の意味チェック(反義語)
生成されたノード・エッジ要素の名前分析によるヌケ・モレ
連結グラフの断絶
要求のヌケ・モレ
まとめ
・自然言語懐石を利用して、要求仕様を形式化する手法を開発
・モダリティを利用することで自然言語からのDFD自動生成を高精度化
■セキュアシステム構築方法論と適用事例
1.情報システムセキュリティの現状
・脆弱性
・インシデント報告件数
・Webサイトの改ざんが多い
・制御システムのインシデントも
セキュアシステム開発の必要性
2.東芝での取り組み
・情報システムに対する脅威
欠陥要員の排除
・ソリューションのセキュア化の実現
設計への盛り込み
出荷時の安全性
運用時
ソリューションのライフサイクルで一貫性
→セキュアSI
・セキュアシステム構築方法論(セキュアSI)
上流設計段階から分析に基づくセキュリティ対策の作りこみ
テスト・運用段階で必要なセキュリティ
業務分析フェーズ
上流設計フェーズ
セキュリティSLA対策
下流設計フェーズ
パラメータのテンプレート
実装
セキュアプログラム
ソースコード解析
テストフェーズ
セキュリティ機能テスト
脆弱性検査
リスク再評価フェーズ
システムSLAをみなおし
メンテナンス
セキュリティレベル維持
個別手法紹介
業務機能セキュリティ分析
セキュリティ脅威の洗い出し→対策
業務環境の抽出
分析範囲の決定
脅威発生箇所の抽出
脅威分析
セキュリティ対策要件
→テンプレート作成、TCリスト
基本的考え方
脅威発生箇所
情報資産
セキュリティ脅威
セキュリティ対策
3.適用事例
・個人情報システム
・Web予約システム
4.最後に
・今後の課題と取り組み
制御システム向け
ISA Secure SSA EDSA
運用時のセキュリティへの取り組み
運用後
セキュリティインシデント発生後
■FlashAirのIoT応用に関して
・自己紹介
・FlashAirとは
メモリ+無線LAN+Webサーバー
・基本的な動作
ファイルを書く
無線LAN経緯でデータ読み込み
・内部構造
ブリッジチップ
SDカード
NANDフラッシュ
・CPU:消費電力意識、20年前のPCくらい
・プロトコルスタックは内製
→シミュレーションが可能
・開発経緯
2000年 無線LAN向けLSI
2003年 無線AV伝送技術
プロトコルスタック積み上げ
2007年 組み込み向けとして開発
2010年 無線つくSDカード開発開始
・初期のコンセプト
SDアソシエーションでの規格化iSDIO規格→ぽめら
・発売時のコンセプト
Webサーバーになり、カメラからスマホへ
開発者サイトの公開
→問い合わせ多数(1年くらい仕事とまるくらい)
→API情報をオープン化する方向性
・第三世代
Luaで記述、FlashAirを入れるだけで
データをクラウドにアップ
SDメモリの口→FlashAirでアップ
FlashAirハッカソン→GUGENにお金払って
GUGEN社と協業することでアイデアの具現化→マネタイズ
3000円はらっても→アイデアソン90人、ハッカソン60人
結構真剣に
製品開発と拡販のためのエコシステム
・ハッカソンの成果と今後の課題
アイデアの扱い、知財関係
ハッカソン→Webに載せてチャラにする
FlashAirのIoT応用
・HTML5でオレオレYouTube
・100均でWebサーバー
・Arduino,ルンバ(教材用)
・遠隔Lチカ
・電車模型
・Robiを天気を教えてくれるロボットへ
→Luaで天気予報を取得
まとめ
・無線LANつきSDカード
内製のプロトコルスタックを持っていたので出来た
・IoT向け無線LANつきSDカードの機能拡張
・その他
IoTは期待されているが、個々のマーケットは小さいので
情報公開を元にやりたい人が簡単にやれる環境を提供するのが重要
ハッカソンは参加メンバーが真剣に取り組む傾向
起業が開発するよりも効果的側面