• 検索結果がありません。

プロダクトライン開発におけるソフト品質の確認方法の提案

N/A
N/A
Protected

Academic year: 2021

シェア "プロダクトライン開発におけるソフト品質の確認方法の提案"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

プロダクトライン開発におけるソフト品質の確認方法の提案

宇都宮

浩之, 山本 修一郎

名古屋大学

愛知県名古屋市千種区不老町

Proposal of confirming software quality in product line development

Hiroyuki Utsunomiya and Shuichiro Yamamoto

Nagoya University

Furo-cho Chikusa-ku, Nagoya Aichi Japan

概要

ソフトウェアプロダクトライン開発において,製品間の可変性を示すフィーチャモデルが利用される. 本稿では,フィーチャモデルのから保証ケースに変換する手法を用い,保証ケースから各製品の品質を確認する 手順を紹介する.

Abstract

In software product line development, a feature model showing variability between products is used. In this paper, we introduce a procedure for confirming the quality of each product from the assurance case, using a method of converting from a feature model to the assurance case.

1. はじめに

近年のソフトウェアシステムは,IoT(もののインター ネット)デバイスのように様々なデバイスと繋がって協調 動作する.このような環境では,ターゲットシステムを静 的に保証する境界を定めることはとても難しくなる. 一方,車業界においても,様々な車両に対応するために 少しずつ特徴の異なる多数の製品を短期間で開発するよ うになってきている.複数の製品群を対象としたSPL の 導入も検討されているが,その保証方法は各々の製品(バ リアント)に対して全テストで保証することが多くなって いる.このようなやり方では,テスト段階で不具合が発見 されて大きな手戻りを発生させ,納期の達成も難しくなる. 本稿では,SPL 開発手法において実際のソフトウェア コードを記述する前段階となる,フィーチャモデルを使っ て出来上がり製品の品質を確認する手法を提案する.

2. 関連技法

2.1.

ソフトウェアプロダクトライン 複数のソフトウェアプロダクトで共通に利用できる機 能を,予め資産化して再利用する技術にソフトウェアプロ ダクトライン[1]がある.ソフトウェアプロダクトライン のモデルを記述する代表的な手法として,フィーチャモデ ル[2,3]がある.フィーチャモデルでは AND/OR ノードか らなるフィーチャ ツリーを用いて,システムの機能特性 の構成を定義することにより,システムの共通性と差異を 識別することができる.特定の市場領域もしくはミッショ ンについての指定されたニーズを満足するように,コア資 産として事前に開発された共通管理機能集合(Common Managed Features)を共有するソフトウェアシステムの 集合が,ソフトウェアプロダクトライン(Software Product Line, SPL)である. プロダクトラインエンジニアリング[1]には2つのライ フサイクルプロセスがある.ドメイン開発(領域開発, Domain Engineering)ライフサイクルでは,コア資産と してのドメイン成果物を開発する.このコア資産がアプリ ケーション開発(適用工学,Application Engineering) ライフサイクルで,製品(Product)としての新規システ ム構築のために再利用される. ドメイン固有再利用成果物がコア資産である.コア資産 の要素として,再利用要求,再利用設計,再利用コード, 再利用可能試験項目がある. アプリケーション開発で作成されたプロダクトは,反復 的な発展過程で,プロダクト情報としてフィードバックさ れ,ドメイン分析と製品分析で利用される.

(2)

2.2. 保証ケース

保証ケース(Assurance case)では GSN(Goal

Structuring Notation)に基づいて,システムの安全性や ディペンダビリティについての議論をゴール木で表現す ることにより,合意形成を支援できる[4-6].安全性につい ての保証ケースが安全性ケース(Safety case)である. 保証ケースを記述する代表的な手法には,Kelly による GSN と,Bloomfield による CAE(Claim Argument Evidence)がある.GSN の主要なノードは Claim, Strategy, Context, Evidence である.CAE の主要なノー ドは,Claim, Argument, Evidence である.いずれも Claim をゴールとして段階的に分解することにより最終 的なEvidence に到達する階層的なゴール図である. GSN や CAE では,アーキテクチャの安全性やセキュ リティについての主張を定性的な議論によって確認でき る.

2.3. フィーチャモデルと保証ケース

フィーチャモデルの品質やフィーチャモデル自体の 安全性を論じるために,フィーチャモデルをGSN 表 記の保証ケースに変換する手法が提案されている[7]. 本稿では,プロダクトラインに含まれる各製品の品質の 妥当性を確認するために,フィーチャモデルを保証ケース に変換し,変換された保証ケースを用いて各製品の品質を 確認する手法を提案する.

3. 研究課題

3.1. 上流工程で製品品質を見通せること

テスト工程,あるいはソフトウェアコードの作成工程で の品質確保は難しく,設計段階で品質を見通すことは行わ れている.しかし,さらに上流の仕様を定義する段階や製 品の企画段階で品質を見通すことが望ましい.

3.2.

SPL 製品群に対し開発前に製品品質を見通

せること

SPL においては,個々の製品の共通部分と可変部分を 明らかにし,それらを見越した共通アーキテクチャを設計 することが肝要となる.共通アーキテクチャ,または共通 仕様の品質を確認することで,個々の製品の品質も確認で きれば生産性の向上に繋がると予想される.

4.

提案手法

本稿では,以下のステップによってSPL に含まれる 個々の製品の品質を分析段階(=フィーチャモデル作成 時)に見通す手法を提案する. 図 1 :提案手法

4.1. 製品群に対するフィーチャモデルの作成

ある製品群の特徴を整理し,フィーチャモデルを作成す る.

4.2. 保証ケースへの変換

参考文献[7]に示される保証ケース作成規則,ならびに 作成手順に従ってフィーチャモデルを保証ケースに変換 する.

4.3. ソフトウェア製品群の品質確認

製品群に対して確認すべき品質特性を保証ケースの前 提に付与し,保証ケース全体が品質特性を満たすように証 拠を揃える.

4.4. ソフトウェア製品

(バリアント)の品質確認

可変点に製品ごとのパラメタを組み込み,バリアントモ デルを作成する(図 1:決定).バリアントモデルを基に対 応する保証ケースを作成し(図 1:選択),単一製品の品質 を再確認する(図 1:品質確認).

5. ケーススタディ

本稿では,車両に搭載されるメータパネルの品質確認を

(3)

事例として取り上げる.車両に搭載されるメータパネルの

うち3 製品を選択し,それぞれの特徴を整理した結果を表

1 に示す.これをもとに,4 章のステップに従って製品の 品質を確かめる.

表 1 :メータパネル製品群

Element Meter panel product group

Meter A Meter B Meter C

Speedometer analog analog digital

Tachometer analog none Digital

Water temp.

gauge analog analog Digital

Fuel gauge analog analog Indicator only Odometer

display digital digital digital Odometer switching digital Type-1 digital Type-2 digital Type-1 High beam

indicator present present present Winker

Indicator present present present

Element Meter panel product group

Meter A Meter B Meter C

Shift range indication

"PRINDL"

indicator none digital

5.1. 製品群に対するフィーチャモデルの作成

表 1 に示すメータ製品群に対し,フィーチャモデルを 作成する.表 1 のうち,全ての製品で同じ特徴を示すも のは省略している.(図 2)

5.2. 保証ケースへの変換

図 2 に示すフィーチャモデルに対して,参考文献[7]に 示される保証ケース作成規則,ならびに作成手順に従って フィーチャモデルを保証ケースに変換する. 変換した保証ケースを図 3 に示す.

5.3. ソフトウェア製品群の品質確認

今回は品質特性に「全てのテストに合格していること」 を選択し,末端のサブゴールに対して品質特性を満たす証 拠を紐付けた.(図 4) 製品群の品質特性「全てのテストに合格していること (C1)」に対して,それを満たす証拠が揃っているため,製 品群は品質特性を満たしていると言える. 図 2 :メータ製品のフィーチャモデル

(4)

図 3 :フィーチャモデルから変換した保証ケース 図 4:品質特性を満たすことが証拠を用いて確認された保証ケース

5.4. ソフトウェア製品

(バリアント)の品質確認

可変点に製品ごとのパラメタを組み込み,バリアントモ デルを作成する(図 5).図 4 に示す保証ケースを図 5 の バリアントモデルに合わせて必要なノードのみ残して他 を削除する.(図 6) メータA に対応する保証ケースが作成され,かつ,品 質特性を満たす証拠が揃っていることから,メータA が 品質特性を満たしているということができる.

(5)

図 5 :メータA のバリアントモデル 図 6 :メータA の保証ケース

6. 議論

6.1. 有効性

 上流工程で製品品質を見通せるか ケーススタディにおいて,フィーチャモデルを入力に可変 要素全てにおいて品質特性を満たすことが確認できている. フィーチャモデルは,ソフトウェアプロダクトライン開発の 初期フェーズで作成されるものであるため,これは即ち上流 工程で品質を見通せることに他ならない.  SPL 製品群に対し開発前に製品品質を見通せるか ケーススタディにおいて,バリアントモデルを入力に各メ ータ製品が品質特性を満たすことが確認できている.フィー チャモデルは,ソフトウェアプロダクトライン開発の初期フ ェーズで作成されるものであり,個別製品の製品品質を開発 着手前に見通せる可能性がある.

6.2. 新規性

複数の製品群の開発に対してプロダクトライン手法を導 入する際の手順や注意点を紹介した事例は展開されている

(6)

が,多くの場合は全てのソフトウェア部品を開発して組み合 わせた後にテストで品質を確認する手段を取っている[23,24]. しかし,本提案手法のように品質確認のためにフィーチャモ デルと保証ケースを組み合わせた事例は報告されていない.

6.3. 課題

分析段階で準備できる証拠について整理する必要がある. テスト報告書などを証拠として必要とする場合,提案手法の 要点となる上流工程で品質を見通すことができなくなる.分 析段階で準備できる証拠を整理,分類し,どのレベルまで品 質を確認できるのか定量的に計測する必要がある.

6.4. 提案手法の限界

提案手法においては,製品間で可変しない機能に関して通 常のソフトウェア設計,ならびにソフトウェアテストで品質 が保証される前提としている.また,可変性間の関連はなく, 各々独立であることを前提としている.

7. 結論

複数の製品群を対象としたソフトウェアプロダクトラ イン開発を実行する際に,本稿で述べた手法を用いること で各製品間の特徴を分析する段階で各製品の品質を見通 すことができる可能性がある.その結果,従来のようにテ スト段階で不具合が発見されて大きな手戻りを発生させ, 納期遅延に至るといった事故を防ぐことができる可能性 もあると考えられる. 謝辞 保証ケースに関して多くの助言をいただいたDEOS 協 会の方々,ならびに名古屋大学山本研究室のメンバに感謝 いたします.

参考文献

[1] Paul Clements and Linda Northrop, Software Product Lines- Practice and Patterns, Addison-Wesley, 2002 [2] Michael Schulze, Jan Mauersberger, Danilo Beuche,

Functional safety and variability: can it be brought together , SPL Conf., pp.236-243, 2013

[3] Kang., K., Cohen, S., Hess, J., Novak, W., Peteson, A., Feature-Oriented Domain Analysis(FODA) feasibility study, technical report CMU/SEI-90-TR-21, SEI Carnegie Mellon University, 1990

[4] Kelly, T. P, A Six-Step Method for the Development of Goal Structures, York Software Engineering, 1997 [5] Kelly, T., “Arguing Safety, a Systematic Approach to

Managing Safety Cases”. PhD Thesis, Department of Computer Science, University of York, 1998

[6] Shuichiro Yamamoto, Yutaka Matsuno, and Toshinori Takai,Introduction to D-Case - Let's write a dependability case!, DAITEC Holding Co., Ltd., 2012 , ISBN 978-4-86293-079-8

[7] Hiroyuki Utsunomiya and Shuichiro Yamamoto, Proposal of GSN creation method for feature model, KBSE Conference, IEICE-KBSE2016-34, vol.116, no.418, pp.19-24, 2016(in Japanese)

[8] Hiroyuki Utsunomiya, Nobuhide Kobayashi, and Shuichiro Yamamoto, A Safety Knowledge Representation of the Automatic Driving System, Procedia Computer Science Vol.96, 2016

[9] Habli, I., “Model-based assurance of safety-critical product lines,” Ph.D. Dissertation, Department of Computer Science, University of York, 2009

[10] Habli, I., and Kelly, T., A Safety Case Approach to Assuring Configurable Architectures of Safety-Critical Product Lines, 2010

[11] Shuichiro Yamamoto,Research assignment of assurance case for software product line, KBSE Conference, IEICE-KBSE2015-8, vol.115, no.54, pp.39-44, 2015 [12] M.Tokoro, Dependable Operating Systems for Embedded

Systems Aiming at Practical Applications, 2010 Japan Science and Technology Agency, 2010

[13] GSN contributors. GSN community standard version 1.0, http://www.goalstructuringnotation.info, 2011

[14] Y.Matsuno and S.Yamamoto, A Framework for Dependability Consensus Building and In-OperationAssurance, Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications (JoWUA), vol.4, no.1, pp.118-134, 2013 [15] V.Patua, S.Yamamoto, How to develop Security Case by

combining real life security experiences (evidence) with D-Case, 17th International Conference in Knowledge Based and Intelligent Information and Engineering Systems-KES2013, 2013

[16] M.Matsumura, S.Morisaki, N.Astumi, S.Yamamoto, A Comparative capability analysis on the context description methods for CDM, KBSE Conference, IEICE-KBSE2014-30, IEICE-114, no.292, pp. 13-18, 2014(in Japanese)

[17] S,Yamamoto, A knowledge integration approach of safety-critical software development and operation based on the method architecture, 18th International Conference on Knowledge-Based and Intelligent Information & Engineering Systems-KES2014, 2014

[18] F.Ding, S.Yamamoto, N.Abrahim, The Method of D-Case Development Using HAZOP Analysis on UML Models, Knowledge-Based Software Engineering Communications in Computer and Information Science Volume 466, pp.617-629, 2014

[19] Yutaka Matsuno and Shuichiro Yamamoto. An evaluation of argument patterns to reduce pitfalls of applying assurance case. In Assurance Cases for Software-Intensive Systems (ASSURE), 2013 1st International Workshop on, pages12-17. IEEE, 2013

[20] Nobuhide Kobayashi and Shuichiro Yamamoto. The Effectiveness of D-Case Application Knowledge on a Safety Process. Procedia Computer Science, 2015.

[21] Shuichiro Yamamoto, Shuji Morisaki, and Noritoshi Atsumi, A unied approach on assurance case development method based on models . In SIG-KSN, 2015.

[22] Shuichiro Yamamoto, Shuji Morisaki, and Noritoshi Atsumi, An approach on assurance case review based on the conguration information. In SIG-KSN, 2015.

[23] Kato, Denso's Model-Driven Development and Software Product Line Engineering, NIKKEI ERECTRONICS, 2012

[24] Natsuko Noda, Tomoji Kishi, Verification in software product line development, Computer Software 30(3), 2013

表  1  :メータパネル製品群
図   3  :フィーチャモデルから変換した保証ケース 図  4:品質特性を満たすことが証拠を用いて確認された保証ケース 5.4.  ソフトウェア製品( バリアント)の品質確認 可変点に製品ごとのパラメタを組み込み,バリアントモ デルを作成する(図   5).図  4 に示す保証ケースを図  5 の バリアントモデルに合わせて必要なノードのみ残して他 を削除する. (図  6)  メータ A に対応する保証ケースが作成され,かつ,品 質特性を満たす証拠が揃っていることから,メータ A が 品質特性を満たして
図   5  :メータ A のバリアントモデル 図   6  :メータ A の保証ケース 6.  議論  6.1.  有効性    上流工程で製品品質を見通せるか  ケーススタディにおいて,フィーチャモデルを入力に可変 要素全てにおいて品質特性を満たすことが確認できている. フィーチャモデルは,ソフトウェアプロダクトライン開発の 初期フェーズで作成されるものであるため,これは即ち上流 工程で品質を見通せることに他ならない.   SPL 製品群に対し開発前に製品品質を見通せるか ケーススタディにおいて,バ

参照

関連したドキュメント

フランツ・カフカ(FranzKafka)の作品の会話には「お見通し」発言

 当社は、APからの提案やAPとの協議、当社における検討を通じて、前回取引

The approach based on the strangeness index includes un- determined solution components but requires a number of constant rank conditions, whereas the approach based on

The main purpose of this paper is to extend the characterizations of the second eigenvalue to the case treated in [29] by an abstract approach, based on techniques of metric

By an inverse problem we mean the problem of parameter identification, that means we try to determine some of the unknown values of the model parameters according to measurements in

The linearized parabolic problem is treated using maximal regular- ity in analytic semigroup theory, higher order elliptic a priori estimates and simultaneous continuity in

Keywords: probability inequalities; large deviations; Rademacher random variables; sums of independent random variables; Student’s test; self-normalized sums; Esscher–Cramér tilt

(4S) Package ID Vendor ID and packing list number (K) Transit ID Customer's purchase order number (P) Customer Prod ID Customer Part Number. (1P)