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

形式手法を開発現場に持ち込むには -試験計画より始めよ-

N/A
N/A
Protected

Academic year: 2021

シェア "形式手法を開発現場に持ち込むには -試験計画より始めよ-"

Copied!
2
0
0

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

全文

(1)ウィンターワークショップ 2016・イン・. 子. IPSJ/SIGSE Winter Workshop 2016 in Zushi (WWS2016). 形式手法を開発現場に持ち込むには —試験計画より始めよ— 山田隆弘† アブストラクト 形式手法に対する興味は非常に高まっているが,形式手法がソフトウェア開発の現場で広く普及し ているとは言い難い.本稿では,従来の開発手法と馴染みのある形で形式手法を導入するため に,試験計画と形式仕様とを同時に作成するというアイディアを提示する.. How to Bring Formal Methods into Development - Start with Test Plans Takahiro Yamada† Abstract The formal methods are becoming well known among software developers, but they are still not used widely in software development. This paper proposes a method for introducing formal methods as a natural step in software development, which is to generate test plans and formal specifications concurrently.. 1. はじめに 形式手法に対する興味は非常に高まっていて,その 成功例もよく知られている[1].しかし,それにもかかわら ず,形式手法がソフトウェア開発の現場で広く普及して いるとは言い難い.形式手法が現場で広まらない理 由の一つは,形式手法を従来の開発手法の中にうま く組み込むための方法論がなく,形式手法を使用す ると,その分だけ余分の労力(すなわち余分の費用) を投入しなければならないと思われていることで あると思われる. 本稿では,上記の問題を解決するために,従来の開 発手法と馴染みのある形で形式手法を導入するための 方法を提示する.具体的には,形式仕様と試験計画を 同時に作成するという方法を提案し,その効用を説明 する.. 2. 形式仕様の問題点 人工衛星などの大規模システムを開発する場合,仕 様を厳密に表現することが非常に重要になってくる.例 えば,一つの人工衛星を開発する場合,たいていは百 †宇宙航空研究開発機構宇宙科学研究所. Japan Aerospace Exploration Agency, Institute of Space and Astronautical Science. c 2016 Information Processing Society of Japan ⃝. 人以上の技術者が関与する.開発を成功させるために は,それらの技術者の間で「どのような人工衛星を開発 するのか」という情報が共有できていることが必須であり, そのようになっていないと,さまざまな不整合が発生す る.従って,誰が読んでも同一の解釈に到達できるよう な仕様を作成することは,大規模システムの開発にお いては極めて重要である. 形式手法は,まさに「誰が読んでも同一の解釈に到 達できるような仕様を作成する」技術であり,大規模シ ステムの開発で使用すべき技術であるが,実際にはほ とんど使用されていない.その理由の一つは,形式手 法は従来の開発手法にプラスしてなされるもので あり,形式手法を使用すると,その分だけ余分の労 力(すなわち余分の費用)を投入しなければならな いと思われていることであると思われる. 従って,形式手法を開発の現場において普及させ るためには,従来の開発手法と馴染みのある形で形式 手法を導入するための工夫が必要となる.. 3. 試験計画の問題点 システム開発の最終段階において,開発されたシス テムが仕様を満たしているかどうかを検証するために試 験(テスト)を実施する.試験を実施するときには,試験 の内容や手順を定義するために試験計画書や試験手. 7.

(2) ウィンターワークショップ 2016・イン・. 子. IPSJ/SIGSE Winter Workshop 2016 in Zushi (WWS2016). 順書を作成する(これらの文書名は分野によって異なる であろうが,ここでは宇宙分野で使用されている文書名 を使用することにする).試験計画書では,試験項目ご とに「システムのどの部分のどの機能(あるいは性能)を どのような構成(どのような治具をどのように接続するか も含む)で試験するか」を定義する.試験手順書では, 試験項目ごとに試験を実施する手順(試験対象をどの ような状態に設定し,どのような入力を与えて,どのよう な結果が得られるか)を定義する. 試験はシステムが仕様を満たしているかどうかを検 証するためのものであるから,本来は試験計画や試験 手順は仕様に基づいて作成されるべきであるのだが, 人工衛星開発の場合,そうなっていない場合が多い. その理由の一つは,仕様(特に要求仕様)が試験計画 や試験手順を導出できるほどには詳細に定義されてい ないことである.もう一つの理由は,過去の人工衛星で 使われた試験計画や試験手順をちょいちょいと手直し すれば,試験計画や試験手順が簡単に出来上がって しまうからである.実際のシステム開発では,試験計画 や試験手順の作成に十分な時間が取れないことが多く, コピぺ・ベースの文書作成は,極めて普通である.しか し,これらの状況は改善すべきである.. 4. 形式仕様と試験計画の同時作成 ここでは,形式仕様と試験計画(以降では,試験計 画と試験手順の主要部分を総称して試験計画と呼ぶこ とにする)を同時に作成する方法を提案する.この方法 には次に示す二つの利点がある. 1番目の利点は,試験計画はシステム開発において 必ず作成すべきものであるから,「形式手法はエクスト ラなものである」という誤解を払拭できることである.形 式仕様と試験計画がいっしょに作成できれば一石二鳥 であり,「お得感」が形成できれば形式手法に対する興 味も高まるのではないかと期待できる. 2番目の利点は,仕様の検証という真の意味での試 験計画が作成できることであり,コピぺ・ベースの試験 計画作成から脱することが可能となる.ただし,過去の 開発における経験を活かすことは重要であり,コピぺ・ ベースを完全に否定しているわけではない. 次に,ここで提案する開発方法論を説明する. 仕様には様々なレベルのものが存在するが,ここで は一つの例として,人工衛星に搭載されるデータ処理 システムの要求仕様を考えることにする.搭載データ処 理システムの要求仕様を作成するときには,その前提と して,ミッション要求や(衛星全体に対する)システム要. c 2016 Information Processing Society of Japan ⃝. 求が定義されているのであるが,それらを満たすように データ処理システムの要求仕様を作成する.通常は, 要求仕様は自然言語で記述するのであるが,なるべく 厳密に,可能な限り形式的な言語を使って記述したい. そのために,各々の要求項目ごとに事前条件と事後条 件を設定する.ここで提案する方法では,事前条件と 事後条件の設定を行うときに「この要求を検証するため には,どのような試験を行うべきか」を考えるのである. すなわち,「この要求を検証するためには,システムを このような状態にし,このような入力を与え,このような 結果が得られることを確認すればよい」ということを考え る.その中の「システムをこのような状態にし,このような 入力を与え」の部分を事前条件として規定し,「このよう な結果が得られる」の部分を事後条件として規定すれ ば,形式仕様が得られる.これで,システムに対する要 求仕様とシステム試験計画とが同時に得られることにな る. 一つのシステムは,たいていの場合,複数のコンポ ーネントから構成されているので,次のステップとして, システム仕様をコンポーネント仕様に分解する.この場 合も,上述したのと同じ方法を適用し,「このコンポーネ ント要求を検証するためには,どのような単体試験を行 うべきか」を考えることによってコンポーネントに対する 要求仕様と単体試験計画とが同時に得られることにな る. この後の開発方法は,従来の方法と同様であり,仕 様に基づいて製造が行われ,試験計画に基づいて試 験が実施される.. 5. おわりに 本稿では,形式仕様と試験計画を同時に作成すると いう方法を提案し,その効用を説明した.この方法を用 いると,「形式手法はエクストラなものである」という誤解 を払拭できると期待しているのであるが,本稿の内容は まだアイディアの段階であり,実際の開発に適用したわ けではない.このアイディアは,近いうちに実際の人工 衛星開発に適用したいと考えているが,諸兄よりご助言 やご批判を賜れば,幸いである.. 参考文献 [1]. 情報処理推進機構: 厳密な仕様記述における形 式手法成功事例, 調査報告書 (2013). 8.

(3)

参照

関連したドキュメント

規則は一見明確な「形」を持っているようにみえるが, 「形」を支える認識論的基盤は偶 然的である。なぜなら,ここで比較されている二つの規則, “add 2 throughout” ( 1000, 1002,

などに名を残す数学者であるが、「ガロア理論 (Galois theory)」の教科書を

特に, “宇宙際 Teichm¨ uller 理論において遠 アーベル幾何学がどのような形で用いられるか ”, “ ある Diophantus 幾何学的帰結を得る

※ 硬化時 間につ いては 使用材 料によ って異 なるの で使用 材料の 特性を 十分熟 知する こと

このように雪形の名称には特徴がありますが、その形や大きさは同じ名前で

とされている︒ところで︑医師法二 0

それに対して現行民法では︑要素の錯誤が発生した場合には錯誤による無効を承認している︒ここでいう要素の錯

・私は小さい頃は人見知りの激しい子どもでした。しかし、当時の担任の先生が遊びを