FIT2014（第 13 回情報科学技術フォーラム）B-006

システムモデリングとプルリクエスト駆動による分散共同開発の提案
A Proposal of Distributed and Collaborative Developmentwith Pull-Request Driven System Modeling.
三浦 政司*
Masashi Miura

南部 陽介**
Yohsuke Nambu

木村 俊介
Shunsuke Kimura

吉澤 良典***
Ryosuke Yoshizawa

弓山 彬
Akira Yumiyama

萩原 利士成Toshishige Hagihara

五十嵐 智
Satoru Igarashi

1．背景・目的

2．設計開発支援ツール BALUS について

航空機，自動車，プラント，携帯電話，情報システム，各種組込システムなど，今日の社会における「システム」は大規模化・高機能化・複雑化の一途をたどっている．そのようなシステムの設計開発は，異なる技術分野や異なる組織の開発者を含む多数の人員によって行われる．一方で，このような大規模・複雑なシステムの開発でさえ，グローバルな環境下での競争的圧力により，短期間開発や低コスト性が要求される場面が多い．これらのことは，冒頭で例示したシステム以外にも，様々な工業製品について当てはまる．
上記のような大規模なシステムの設計開発を効率的かつ確実に実行するためには，設計者の経験・勘や試行錯誤に頼る旧来の方法ではなく，システムズエンジニアリングのような体系的な方法論が必要となる．システムズエンジニ
アリングとは大規模かつ分野横断的なシステムの設計開発において，適切なマネジメントプロセスと技術プロセスを提供する手法群である．システムズエンジニアリングは航空宇宙・防衛などの分野において発展してきたが，現在では様々な分野の民生用製品開発に応用されている．特に最近では次節に示すようなモデルベースシステムズエンジニアリング(MBSE)が注目を集めており，複雑なシステムの設計開発において有用な手法になると期待されている．しかし，実際には社会において MBSE の普及・活用が十分に進んでいるとは言えない．それは，MBSE の学習コストの高さの他，円滑な分散共同開発を遂行するための方法論やツールが提供されていないためだと考えられる．複雑なシステムの開発においては，分野，組織，遠隔拠点を横断する開発体制となることが多く，MBSE に基づく開発プロセスを分散共同的に行うことのできるプラットフォームが求められている．
そこで本研究では，近年のソーシャルコーディングサー
ビスにおいて分散共同開発のあり方に大きな影響を与えたプルリクエストとコードレビューからなるプロセスに着目し，MBSE とプルリクエスト駆動開発を組み合わせることで複雑なシステムの効果的な共同分散開発を実現することを提案する．そして，そのような開発を実現するための設計開発支援ツールである BALUS (Browser-based Assisted
Library Universal System design application)の開発に取り組んでいる [1][2] ．本稿では前述のプルリクエスト駆動によるMBSE の他，システムモデルの共有・再利用プラットフォームなどを含む，BALUS のコンセプトと具体的な機能・特徴を紹介する．

2-1．コンセプト
本研究では，複雑なシステムの設計開発を効率的に遂行する手法のコンセプトとして，オープンモデルベースコラボレーション(Open-MBC; Open Model-based Collaboration)を提案する．
複雑なシステムの設計開発に取り組む際，エンジニアは3 つの問題に直面する．第一に，複雑なシステムでは，全体を理解すること自体が困難である．全体を理解できないようなシステムの設計開発では，要求の見落とし，安易な仕様変更，統合時の不整合などが起こり，手戻りが何度も発生する．第 2 に，組織をまたがる作業や遠く離れた拠点間での作業では，情報共有，コミュニケーション，ワークフローなどにおいて，さまざまな齟齬が発生する．システ
ムの設計開発では，分散的かつ同時的な作業を，円滑に進めることのできる仕組みが求められる．第 3 に，経験の乏しいシステム開発においては，適切に工程を分割できず，工数の見積もりができないなどの問題が生じる．エンジニ
アは，試行錯誤を重ねて開発を進めていくしかなく，このような遠回りによって，開発スケジュールの遅延，コストの超過が生じる．
これらの問題に対し，本研究では，MBSE に基づくシステムモデリング，プルリクエスト駆動に基づくコラボレー
ティブワークフロー，知見を共有するためのオープンエンジニアリングプラットフォームという 3 つのソリューションコンセプトを提案する．そしてそれらを有機的にまとめたものを Open-MBC と定義し，Open-MBC を実現するためのプラットフォームとして BALUS の開発の取り組んでいる．本節では Open-MBC を構成する 3 つのソリューション
コンセプトと，対応する BALUS の機能についてそれぞ簡
単に説明する．

2-2．モデルベースシステムズエンジニアリング
システムズエンジニアリングの基本的なプロセスは要求分析，仕様決定，設計・検証から成り，従来の方法ではそれらを文書形式で管理・共有していた（仕様書・設計文書など）．しかし最近では ICT 技術の発展に伴い，モデルベースな手法へと移行が進みつつある．モデルベースシステ
ムズエンジニアリング(MBSE)では開発対象システムの要
求，設計要素，設計根拠，およびそれらの相互関係を表す要素から構成されるモデルを構築・共有し，モデルに対する操作を通して要求分析や仕様決定，検証などのプロセス*鳥取大学，**大阪府立大学，***東京大学

121
第 1 分冊Copyright © 2014 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.

FIT2014（第 13 回情報科学技術フォーラム）を進めていく．
を．モデルベーススな手法は文書ベースな手手法と比較して下記の比のような点で優優れている．

システムモデルルの改変や，シシステムモデルルの変更に対す
す
いシる不不感知・齟齬をを防ぐことがでできる．

 一貫性・整整合性とトレーサビリティの確保
 グラフィカ
カルビューおよ
よび ICT 技術ととの融合によるる高い共有性・・伝達性
ルの再使用性 既存モデル シミュレーション解析等との統合性践するためには開発者間で共有するルーールにMBSE を実践則ってシステム
則ムモデルを構築築しなければならないが， そのための標準的なたな言語として SysML があるる[2]. SysML はは汎用性に優れ，今後性後の MBSE における主流なモデリング言言語になると期待できなきるが，汎用性性・厳密性を確保するためめに必ずしも直感的ずとは言えない記記述方法が多く，大学生やや新人エンジニア等のエの初学者が実践践・学習するにはハードルルが高いことが課題といとなっている．

図 2. BALUS におけるシスにステムモデル
ル更新フローー
エンジニアリリングプラッットフォームム
2-4．オープンエ
BA
ALUS はオープンなシステ
テム開発を行う
うプラットフォォーム
ムになっておりり，BALUS をを用いて構築さされたシステム
ム
モデ
デルは共有・再再利用することとができる．ここれにより，シシステ
テムモデリング
グへの敷居を下下げるとともにに，知見の集約
約によよるイノベーシション創出効果果を期待するこことができる．
BAL
LUS ではシステムモデルのの構築に際してて粒度の高い変変更履履歴を記録・管管理しているたため，システムムモデルそのもものだだけでなく，そその開発履歴もも含めて共有さされる．

3．まとめと今後の展望

図 1.シ
システムモデデルダイアググラムの作成成BALUS は，直感的で分かかりやすい GU
UI を通して初初学者
でもシステムモでモデルを構築すすることができる．ユーザ
ザは簡単な操作でノー単ードとリンクから構成されるシステムモモデル
ダイアグラムをダを作成することができ，ズーム機能によ り全体と詳細をシー体ームレスに行き来することができる．ノ ードやリンクの種類や類については SysML に基づくテンプレレートを用意しているをる他，ユーザが自由に設計することがでできる．
図 1 に BALU
US におけるシシステムモデル
ルダイアグラムムの作成の様子を示す
成す．

2-3．プルリ2
クエスト駆動動ワークフロロー
BALUS におおけるコラボレ
レーティブワーークフローで
では，フォーク，プルフ
ルリクエスト，，レビュー，マージという 流れでシステム開発で発を行う．図 2 に，これらのフローによ るシステムモデルのスの更新フロー概概念図を示す．フォーク機
機能とは，システムモはモデルの複製を作成する機能である．通通常のり，差分表示によるレビューを前提としコピーと異なコしており，複製の由来り来が記録されている．マージ機能とは， フォークにより生成ー成されたシステ
テムモデルと元のシステム モデ
ルを結合する機
ル機能である．システムモデルの管理者はは，プ
ルリクエストル
知機能によりフォークされれた派と呼ばれる通知
生システムモデ生
デルのレビューーを依頼される．派生シス テム
モデルの変更がモが適切なものであった場合，管理者はママージ
リジナルのシスを実行し，オをステムモデルへ変更が反映映される．プルリクエ
る
エストとレビューを経ることでシステム モデ
ルを媒介としたル
たコミュニケーーションが行われ，整合性性のな

本稿で提案・紹本紹介した Open--MBC の各ソリ
リューションはは，ソフフトウェア開発
発の分野においいては以前よりり普及していたたもののである．シス
ステムモデリン
ングはソフトウウェア開発におおいてていち早く取り入れられ，966 年には標準記記述形式としてての UMLUが完成していた．プル
ルリクエスト駆
駆動は GitHub 等のソソーシャルコーーディングサーービスの中で生生まれたものででありり，オープンソ
ソースソフトウウェアの共同開開発は以前からら広く普及している
る．Open-MBC
C はそれらの概概念をまとめてて，ハーードウェアを伴伴うモノづくりりやコトづくりりにまで拡大ししたもものであると言言える．Open-M
MBC を実現すするためのプララット
トフォームであある WEB ベ
ベースの設計開開発支援ツールルBAL
LUS は現在版版の開発が進めめられており，2014 年度中ににリリリースを予定ししている．開発
発状況やリリーースに関する情
情報はは WEB サイト：http://balus.mme/ にて順次公公開予定である
る．
参考文
文献
[1] 三浦政司,三南部陽介, 吉澤 良典
典, 萩原利士成,, 木村 俊介, “モモデルベースなシデシステムズエン
ンジニアリングを学習・実践すするためのツールる
ル開発と超小型型衛星の上流設計計への適用”, 第12 回情報科学技
技術フォーラムム, K-017, 鳥取, 2013
2年 9 月.
[2] 南部陽介,三浦政南政司, 吉澤 良典
典, 萩原利士成, 木村 俊介, “超超小型衛星開発の小のためのオープ
プンエンジニアリングプラットフォーム”,フ
第 57
5 回宇宙科学技技術連合講演会
会講演集, JSASS
S2013-4016,
22013
3 年 10 月.
[3] S.
S Friedenthal, A.
A Moore and R
R. Steiner, “A PracticalP
Guide toSysML
S-The Systems Modeling””, The MK/OMG
G Press(2008).

122
第 1 分冊Copyright © 2014 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.