システムズモデリング言語SysML
価格:7,480円 (消費税:680円)
ISBN978-4-501-55080-6 C3004
奥付の初版発行年月:2012年05月 / 発売日:2012年05月上旬
世界的規模で効率的に製品の開発・製作を行う際に欠かすことのできないシステムズモデリング言語SysMLの解説書。言語の使い方やノウハウについて、豊富な実例をもとに分かりやすく解説。SysMLを開発したコアメンバーが執筆した書籍の翻訳本。UMLをさらに発展させたSysMLの修得ができる。
システムズモデリング言語SysMLと私が初めて出会ったのは,2007年に慶應義塾大学21世紀COEプログラムで行われていたLaurent Balmelli博士(SysML共同開発者で,当時IBM代表としてSysML仕様書を共著。以下,バルメリさん)の講義に参加したときのことだった。その当時,モデリングと言えば,MATLAB/Simulinkで扱うような物理的な実態のあるシステムをモデル化することと決めつけていた私には,バルメリさんの講義はショッキングだった。”モデル”とはいったい何なのか?大きな疑問が頭の中をよぎった。しかし,その疑問はすぐに一掃された。
「成果物」とバルメリさんは日本語でホワイトボードに書いた。英語で「artifact」と説明した。システムズエンジニアリングにはこの成果物が大事で,たとえば,要求が何か?システムはどのように使われるのか?といったことを,開発を始める初期段階で明確に述べておくことが重要であると言う。この成果物や,成果物間の依存関係を図的に表現する。これがシステムズモデリングの神髄だ。そして,さまざまな専門家が分野を越え,このモデルを通じて,協働してシステムの開発を行えるようになる。当然のことながら,エンジニアリング解析のために必要となる物理的なモデルも得られる。システムズエンジニアリングの一連のプロセスに一気通貫して,”モデル”を利用できるのだ。
今日の私たちの社会は,複雑な技術システムで成り立っている。スマートフォンやタブレット端末,ノートPCから,自動車や航空機やロケットや人工衛星まで,ありとあらゆるモノが,メカ,エレキなどのハードウェアとソフトウェアが複雑に絡み合って作られている。そして,人がさまざまな形でそこに介在して,これらの機器はシステムの中で動かされ,社会が動いている。システムは社会のニーズに合致し,安全に運用され,環境に優しいことが求められる。そして,それが手戻りなく開発されることが求められている。
本書は,こうした要求に応えるための一つの方法としてシステムズモデリング言語を用いることの利点を,明確に示している。最近では,自動車向けの機能安全規格ISO 26262が発行され,モデルベースで開発を進めることの重要性が注目されている。SysMLは,モデル駆動型システム開発のための有力なシステム表現方法の一つであり,すでに欧米のさまざまな産業分野で取り入れられつつある。日本でさまざまな機器やシステムを開発しているエンジニア,マネージャの方々に,本書を通じてモデルベースシステムズエンジニアリングの神髄が伝えられるものと確信している。
末筆ながら,本書の完成までにさまざまな方々から多くのご助力を得たことを記したい。特に,朱紹鵬氏(浙江大学講師(当時,慶應義塾大学特任助教)),森 崇氏(慶應義塾大学大学院システムデザイン・マネジメント研究科院生)には翻訳作業で細部にわたりご協力いただいた。また,本書の出版に際しては,東京電機大学出版局の吉田拓歩氏に多大なるご支援をいただいた。皆さんに心より感謝申し上げたい。
2012年3月
訳者を代表して 西村秀和
目次
第Ⅰ部 序論
第1章 システムズエンジニアリングの概要
1.1 システムズエンジニアリングが必要な理由
1.2 システムズエンジニアリングプロセス
1.3 システムズエンジニアリングプロセスの典型的な応用
1.4 複数の専門分野からなるシステムズエンジニアリングチーム
1.5 標準規格を通じたシステムズエンジニアリング実施の体系化
1.6 まとめ
1.7 演習問題
第2章 モデルベースシステムズエンジニアリング
2.1 文書ベースアプローチとモデルベースアプローチの比較
2.2 モデリング原理
2.3 まとめ
2.4 演習問題
第3章 SysML言語概要
3.1 SysMLの目的と重要な特徴
3.2 SysMLダイアグラム
3.3 MBSEをサポートするSysMLの利用
3.4 自動車設計にSysMLを用いた簡単な例
3.5 まとめ
3.6 演習問題
第Ⅱ部 SysML言語の解説
第4章 SysML言語アーキテクチャ
4.1 OMG SysMLの言語仕様
4.2 SysML言語のアーキテクチャ
4.3 SysMLダイアグラム
4.4 ケーススタディ「監視システム」
4.5 第Ⅱ部の構成
4.6 演習問題
第5章 パッケージによるモデルの編成
5.1 概要
5.2 パッケージ図
5.3 パッケージ図を用いたパッケージの定義
5.4 パッケージ階層の編成
5.5 パッケージ図へのパッケージ化可能要素の表示
5.6 名前空間としてのパッケージ
5.7 モデル要素のパッケージへのインポート
5.8 パッケージ要素間の依存の表示
5.9 ビューとビューポイントの規定
5.10 まとめ
5.11 演習問題
第6章 ブロックによる構造のモデル化
6.1 概要
6.2 ブロック定義図によるブロックのモデル化
6.3 プロパティによるブロックの構造と性質のモデル化
6.4 ポートとフローを用いたインタフェースのモデル化
6.5 ブロックの振る舞いとモデル化
6.6 汎化を用いた分類階層のモデル化
6.7 まとめ
6.8 演習問題
第7章 パラメトリックを用いた制約のモデル化
7.1 概要
7.2 システム制約の表現
7.3 再利用を可能とするための制約ブロックの制約のカプセル化
7.4 合成を用いた複雑な制約ブロックの作成
7.5 パラメトリック図による制約ブロックのパラメータ拘束
7.6 ブロックの値プロパティの制約
7.7 ブロック構成値の取得
7.8 時間に基づく分析のための時間依存プロパティ制約
7.9 制約ブロックを用いたアイテムフローの制約
7.10 分析コンテキストの表現
7.11 候補の評価とトレードオフ検討のモデル化
7.12 まとめ
7.13 演習問題
第8章 アクティビティを用いたフローベースの振る舞いのモデリング
8.1 概要
8.2 アクティビティ図
8.3 アクション-アクティビティの基礎
8.4 アクティビティのモデリングの基礎
8.5 オブジェクトフローによるアクション間のアイテムフローの記述
8.6 制御フローを用いたアクションの実行順序の記述
8.7 シグナルや他のイベントの処理
8.8 アクティビティの高度なモデリング
8.9 アクティビティとブロックおよび振る舞いなどとの関係付け
8.10 ブロック定義図によるアクティビティ階層のモデリング
8.11 拡張機能フローブロック図
8.12 アクティビティの実行
8.13 まとめ
8.14 演習問題
第9章 相互作用を用いたメッセージベースの振る舞いのモデル化
9.1 概要
9.2 シーケンス図
9.3 相互作用としてのコンテキスト
9.4 生存線による相互作用参加者の表現
9.5 生存線間のメッセージ交換
9.6 シーケンス図における時間の表示
9.7 結合フラグメントを用いた複雑なシナリオの表現
9.8 相互作用参照を用いた複雑な相互作用の構築
9.9 内部の振る舞い表現のための生存線の分解
9.10 まとめ
9.11 演習問題
第10章 状態機械によるイベントベースの振る舞いのモデル化
10.1 概要
10.2 状態機械図
10.3 状態機械における状態の規定
10.4 状態間の遷移
10.5 状態機械とオペレーション呼び出し
10.6 状態階層
10.7 離散的状態と連続的状態の対比
10.8 まとめ
10.9 演習問題
第11章 ユースケースを用いた機能化のモデル化
11.1 概要
11.2 ユースケース図
11.3 アクターを用いたシステムのユーザー表現
11.4 ユースケースを用いたシステム機能の記述
11.5 振る舞いを用いたユースケースの精密化
11.6 まとめ
11.7 演習問題
第12章 テキストベースの要求のモデリングと,それらの設計との関係
12.1 概要
12.2 要求図
12.3 モデル上でのテキスト形式による表現
12.4 要求関係の種類
12.5 SysMLダイアグラムにおける横断関係の表現
12.6 要求関係の根拠の表現
12.7 表形式による要求と要求関係の表現
12.8 パッケージによる要求階層のモデリング
12.9 要求包含階層のモデル化
12.10 要求導出のモデリング
12.11 要求が充足されることの表明
12.12 要求が充足されることの検証
12.13 詳細化関係による要求の曖昧性の軽減
12.14 汎用目的のトレース関係の使用
12.15 まとめ
12.16 演習問題
第13章 割り当てを用いた横断関係のモデル化
13.1 概要
13.2 割り当て関係
13.3 割り当ての表記法
13.4 割り当ての種類
13.5 再利用の計画:割り当てによる定義と用法の規定
13.6 機能割り当てによる振る舞いの構造への割り当て
13.7 機能フロー割り当てを用いた機能フローと構造フローの結合
13.8 独立した構造階層間の割り当てのモデル化
13.9 割り当て構造フローのモデル化
13.10 ユーザーモデルの割り当ての評価
13.11 割り当ての次の段階
13.12 まとめ
13.13 演習問題
第14章 特定のドメインに対するSysMLのカスタマイズ
14.1 概要
14.2 再利用可能な構成要素を提供するモデルライブラリの定義
14.3 既存のSysMLの概念を拡張するためのステレオタイプ
14.4 プロファイルによるSysMLの拡張
14.5 ステレオタイプを用いるためのユーザーモデルへのプロファイルの適用
14.6 モデル構築時におけるステレオタイプの適用
14.7 まとめ
14.8 演習問題
第Ⅲ部 モデリング例
第15章 機能分析を用いた蒸留器のモデリング例
15.1 問題の記述
15.2 MBSEアプローチの定義
15.3 モデルの編成
15.4 要求の確立
15.5 振る舞いのモデル化
15.6 構造のモデル化
15.7 性能解析
15.8 初期設計の変更
15.9 まとめ
15.10 演習問題
第16章 OOSEMによる住宅セキュリティシステムのモデリング
16.1 OOSEMの概要
16.2 住宅セキュリティシステムの概要とプロジェクトの設定
16.3 OOSEMによるシステムの仕様決定と設計
16.4 まとめ
16.5 演習問題
第Ⅳ部 モデルベースシステムズエンジニアリングへの移行
第17章 システム開発環境へのSysMLの統合
17.1 システム開発環境におけるシステムモデルの役割について
17.2 システムズモデリングツールと他のツールの統合
17.3 統合システム開発環境におけるデータ交換のメカニズム
17.4 システムズモデリングツールの選択
17.5 まとめ
17.6 演習問題
第18章 組織へのSysMLの導入
18.1 改善プロセス
18.2 まとめ
18.3 演習問題
付録A SysMLリファレンスガイド
A.1 概要
A.2 表記の規約
A.3 パッケージ図
A.4 ブロック定義図
A.5 内部ブロック図
A.6 パラメトリック図
A.7 アクティビティ図
A.8 シーケンス図
A.9 状態機械図
A.10 ユースケース図
A.11 要求図
A.12 割り当て
A.13 ステレオタイプ
参考文献
索引