抽象化に基づいた - IPACircuitDesign’Engineering’Lab.’2’...

18
Circuit Design Engineering Lab. Okayama Prefectural University 2013ソフトウェア学分野の先導的研究援事業 抽象化に基づいた UML設計の検証援ツールの開発 横川 智教 公学法岡県学 情報学部 情報システム学科

Transcript of 抽象化に基づいた - IPACircuitDesign’Engineering’Lab.’2’...

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    2013年年度度ソフトウェア⼯工学分野の先導的研究⽀支援事業    

    抽象化に基づいた  UML設計の検証⽀支援ツールの開発

    横川  智教

    公⽴立立⼤大学法⼈人岡⼭山県⽴立立⼤大学  情報⼯工学部  情報システム⼯工学科

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    背景  -‐  組込みソフトウェア開発の課題

    2014/07/29 ETWest2014  IPAブースプレゼン 2

    要求分析 設計 実装 テスト

    ⼿手戻り

    組込みソフトウェアの開発プロセス

    下流流⼯工程での不不具合の検出

    上流流⼯工程への⼿手戻りの発⽣生

    ⼿手戻りによる開発コスト増⼤大

    設計検証の必要性の⾼高まり

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    背景  -‐  組込みソフトウェアの設計検証

    2014/07/29 ETWest2014  IPAブースプレゼン 3

    設計ドキュメント

    どの状態にも  いつか必ず到達する

    危険な状態には  決して到達しない

    ある変数が定められた  値に必ず到達する

    UML(状態マシン図) ・・・

    作成された設計ドキュメントが  要求仕様を満たしているか?  

    要求仕様

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    背景  -‐  設計検証の困難さ

    2014/07/29 ETWest2014  IPAブースプレゼン 4

    理理由  1. 組込みソフトウェアの不不具合が社会に及ぼす影響が甚⼤大であり,信頼性への要求のハードルが⾮非常に⾼高い  

    2. ソフトウェアの⼤大規模・複雑化により,システムの取り得る状態数が⼈人⼿手でテストを⾏行行う限界を遙かに越えている

    従来の枠組み(テスト・レビュー)で組込みソフトウェアの  設計検証を⾏行行うのは⾮非常に困難である

    網羅羅的かつ⾃自動検証が可能なモデル検査技術の利利⽤用

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    モデル検査

    2014/07/29 ETWest2014  IPAブースプレゼン 5

    モデル検査とは

    状態遷移系でモデル化されたシステムの全数探索索により  求める特性を満たすか否かを⾃自動検証する技術

    モデル検査の適⽤用

    1.  モデル化⾔言語により検査対象システム(仕様書・設計書・回路路図  etc.)を記述  

    2.  論論理理式として検査項⽬目(要求仕様・試験仕様・基本性質・客先要望  etc.)を記述  

    3.  モデル検査ツールによる⾃自動探索索の実施  4.  モデルが検査項⽬目を満たすという証明か,満たさない場合は反例例を出⼒力力

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    研究課題

    2014/07/29 ETWest2014  IPAブースプレゼン 6

    モデル検査を設計検証に導⼊入する上での問題点

    問題1.モデル作成の困難さ

    対象システムを検証ツール固有のモデル化⾔言語で記述モデル作成には専⾨門的な知識識やノウハウが必要

    問題2.状態爆発の危険性

    モデル化された対象システムの状態空間を網羅羅的探索索モデル規模によっては検証に莫⼤大な時間を要する

    モデル作成を⽀支援するためのツールを開発し問題を解決

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    検証⽀支援ツール

    2014/07/29 ETWest2014  IPAブースプレゼン 7

    1. 対象とする設計記法として,組込みソフトウェア開発に広く利利⽤用されている形式仕様記法UMLを想定する  

    2. モデル検査ツールとして,モデル記述⾔言語の表現⼒力力および検証速度度に優れたNuSMVを利利⽤用する  

    ツールの機能

    1.  SMV⾔言語への⾃自動変換を⽬目的としたUML図の抽象化  2.  モデルサイズ削減を⽬目的としたUML図の抽出・分割および抽象化  

    3.  UML図からSMV⾔言語への⾃自動変換

    前提

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    検証⽀支援ツールの概要

    2014/07/29 ETWest2014  IPAブースプレゼン 8

    ⼊入⼒力力インタフ

    UMLモデリングツール  astah*

    仕様テンプレート要求仕様

    UML図(*.asta)

    要求仕様(*.ctl)

    抽象化・変換モジ

    検証モデル(*.smv)

    検証結果(*.out)

    検証結果(整形済)(*.result)

    違反箇所情報(*.ce)

    記述制約

    UML図

    モデル検査ツール  NuSMV

    出⼒力力インタフ

    検証⽀支援ツール外部ツール

    l  UML図の記述にはastah*を,検証にはNuSMVを⽤用いる  l  UML図が満たすべき記述制約と,要求仕様を記述するための仕様テンプレートが定められている

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    SMV⾔言語による検証モデル⽣生成の流流れ

    2014/07/29 ETWest2014  IPAブースプレゼン 9

    SPEC  AG  !(XXX  =  ccc)SPEC  EF(ZZZ  =  iii)SPEC  AF(YYY  =  fff)

    MODULE  main  VAR    XXX  :  {aaa,  bbb,  ccc};    YYY  :  {ddd,  eee,  fff};    fg1  :  boolean;  ASSIGN    init(XXX)  :=  aaa;    next(XXX)  :=  case        fg  =  TRUE  :  bbb;        TRUE  :  XXX;    esac;      init(YYY)  :=  ddd;    next(YYY)  :=  case        fg  =  FALSE  :  fff        TRUE  :  YYY;    esac;      init(fg)  :=  FALSE;    next(fg)  :=  case        fg  =  FALSE  :  {TRUE,  FALSE};        TRUE  :  fg;    esac;

    状態マシン図

    シーケンス図

    UML図ファイル(*.asta)

    要求仕様ファイル(*.ctl) 検証モデルファイル(*.smv)

    モデル

    CTL式

    モデル⽣生成

    CTL式  ⽣生成

    safe(xxx  =  1)  live(message_1)  reachable(S)

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    事例例適⽤用による評価

    2014/07/29 ETWest2014  IPAブースプレゼン 10

    l 経緯  – 某ソフトウェア開発企業に事例例提供を打診  – 開発に⽤用いた状態遷移表から          UML図(状態マシン図)を作成  – 対象システムは店舗従業員向けの          「商品供給指⽰示システム」  

    ›   売場の端末と商品管理理室のモニターの間で,    商品供給のための通信を⾏行行う  

    l 検査項⽬目  – 検査1:仕様テンプレートを⽤用いた基本特性の検査  – 検査2:事例例提供元より要望のあった特性の検査  

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    検査対象となるUML図

    2014/07/29 ETWest2014  IPAブースプレゼン 11

    2台の売場端末とモニター表⽰示の動作の状態マシン図  (状態遷移表を元に作成)  

    UML図ファイル  R_CDS.asta

    端末A 端末B

    モニター

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    検査1

    2014/07/29 ETWest2014  IPAブースプレゼン 12

    仕様テンプレートを⽤用いて4つの基本特性を記述  検査項⽬目 テンプレート ツールへの⼊入⼒力力

    状態の到達可能性 reachable(s)  

    reachable(Terminal_A  =  send)  reachable(Terminal_A  =  receive)reachable(Terminal_A  =  com)

    reachable(Terminal_B  =  send)  reachable(Terminal_B  =  receive)reachable(Terminal_B  =  com)

    通信モードの到達可能性 reachable(x,a)  

    reachable(MD_A,  1)  reachable(MD_A,  2)  

    reachable(MD_B,  1)  reachable(MD_B,  2)  

    通信モードの安全性 safe(x,a)  

    safe(MD_A,  3)  safe(MD_A,  -‐1)  

    safe(MD_B,  3)  safe(MD_B,  -‐1)  

    モニターの到達可能性 reachable(s)  

    reachable(Ctl_Monitor  =  surplus)  reachable(Ctl_Monitor  =  sufficient)  reachable(Ctl_Monitor  =  opdmal)  reachable(Ctl_Monitor  =  few)  reachable(Ctl_Monitor  =  short)  

    要求仕様  ファイル  BASIC.ctl

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    本ツールの適⽤用結果(検査1)

    2014/07/29 ETWest2014  IPAブースプレゼン 13

    本ツールを⽤用いて  SMVファイルを⽣生成

    R_CDS.asta  BASIC.ctl

    R_CDS_BASIC.smvモデル検査器  NuSMVで検査

    R_CDS_BASIC.out

    R_CDS_BASIC.result

    検査結果の  整形

    (001)  EF  Terminal_A  =  send    is  true  (002)  EF  Terminal_A  =  receive    is  true  (003)  EF  Terminal_A  =  com    is  true  (004)  EF  Terminal_B  =  send    is  true  (005)  EF  Terminal_B  =  receive    is  true  (006)  EF  Terminal_B  =  com    is  true  (007)  EF  MD_A  =  1    is  true  (008)  EF  MD_A  =  2    is  true  (009)  EF  MD_B  =  1    is  true  (010)  EF  MD_B  =  2    is  true  (011)  AG  !(MD_A  =  3)    is  true  (012)  AG  !(MD_A  =  -‐1)    is  true  (013)  AG  !(MD_B  =  3)    is  true  (014)  AG  !(MD_B  =  -‐1)    is  true  (015)  EF  Ctl_Monitor  =  surplus    is  true  (016)  EF  Ctl_Monitor  =  sufficient    is  true  (017)  EF  Ctl_Monitor  =  opdmal    is  true  (018)  EF  Ctl_Monitor  =  few    is  true  (019)  EF  Ctl_Monitor  =  short    is  true

    R_CDS_BASIC.result

    全ての結果がTRUE 誤りは存在しない

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    検査2

    2014/07/29 ETWest2014  IPAブースプレゼン 14

    事例例提供元より要望のあった特性を直接検査式として記述  1.  端末が待機状態であり,かつ通信モードが通話無しでない  

     状態への到達可能性  2.  端末が着信中状態であり,かつ通信モードが2回線通話である  

     状態への到達可能性  3.  端末が通話中であり,かつ通信モードが通話無しである  

     状態への到達可能性  

    1A:  SPEC  !EF(Terminal_A  =  wait  &  !(MD_A  =  0))  2A:  SPEC  !EF(Terminal_A  =  receive  &  MD_A  =  2)  2A:  SPEC  !EF(Terminal_A  =  com  &  MD_A  =  0)    1B:  SPEC  !EF(Terminal_B  =  wait  &  !(MD_B  =  0))  2B:  SPEC  !EF(Terminal_B  =  receive  &  MD_B  =  2)  3B:  SPEC  !EF(Terminal_B  =  com  &  MD_B  =  0)  

    要求仕様ファイル  R_CDS_REQ.ctl

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    本ツールの適⽤用結果(検査2)

    2014/07/29 ETWest2014  IPAブースプレゼン 15

    R_CDS.asta  R_CDS_REQ.ctl

    R_CDS_REQ.smv

    R_CDS_REQ.out

    R_CDS_REQ.result  R_CDS_REQ.ce

    (001)  !(EF  (Terminal_A  =  wait  &  !(MD_A  =  0)))    is  true  (002)  !(EF  (Terminal_A  =  receive  &  MD_A  =  2))    is  true  (003)  !(EF  (Terminal_A  =  com  &  MD_A  =  0))    is  false  …

    R_CDS_REQ.result(⼀一部)

    (003)  !(EF  (Terminal_A  =  com  &  MD_A  =  0))    is  false  -‐>  State:  1.1  

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    本ツールの適⽤用結果(検査2)

    2014/07/29 ETWest2014  IPAブースプレゼン 16

    特性3Aに対する反例例の解析1   2   3   4   5  

    Event_A   emp   emp   report   response   emp  

    MD_A   0   0   0   0   0  

    Terminal_A   inidal   inidal   wait   send   com  

    端末が通信中(Terminal_A=com)であるにもかかわらず,  通信モードが通話無し(MD_A=0)となる状態に到達している

    •  UML図による設計の誤りを正しく検出できた  •  反例例を元に誤り箇所を特定することができた  

    原因:状態遷移表のアクションの1つが        UML図に正しく転記されていなかった

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    まとめ

    2014/07/29 ETWest2014  IPAブースプレゼン 17

    ツールデモ

    本ツールのデモを岡⼭山県⽴立立⼤大学の  ブース(U-‐06)内にて実施しています.  お気軽にお越しください.  

    オムロンソフトウェア

    ウルトラエックス

    バルテス・モバイルテクノロジー

    テレダイン・レクロイ・ジャパン

    ベリサーブバルテス

    ユニダックス アバールデータ

    RITAエレクトロニクス

    A-12

    A-08

    A-07

    A-06

    A-11

    A-10

    A-09

    A-05

    組込みシステム産業振興機構

    A-04

    アドバンスド・データ・コントロールズ

    A-01

    九州工業大学

    大阪電気通信大学大学院GENET/奈良工業

    高等専門学校 ユニバーシティパビリオン

    展示会登録所

    BEMS/FEMS/HEMS/MEMSゾーン

    IoT ゾーン

    U-01 U-01 U-01

    イーソル

    GENUSION

    星和電機 近藤電子工業

    アズマ窓飛

    ビットラン

    B-14

    B-10

    B-09

    B-08

    B-13

    B-12

    B-11

    B-07ノリタケ伊勢電子

    イー・フォース

    暁電機製作所

    ナムコール製作所

    金沢工業大学・北陸先端科学技術大学院大学

    iTestアイエーアール・システムズ

    プライムゲート

    C-26

    グレープシステム

    C-18

    C-22

    C-21

    C-20

    C-25

    C-24

    C-23

    C-13

    オンテック

    とめ研究所

    日本キャステム

    TOPPERSプロジェクトNSCore

    C-15

    C-14

    C-17

    C-16

    C-13

    三菱電機インフォメーションシステムズ

    C-06

    アルゴシステム

    スパークスシステムズジャパン

    HMSインダストリアルネットワークス

    セカンドセレクションレジェンド

    C-03

    C-02

    C-05

    C-04

    C-01

    アイティアクセスB-06

    中央電子

    ファームウェアシステム

    共和電子製作所

    シグマ電子工業アトラシアン

    B-03

    B-02

    B-05

    B-04

    B-01

    日本システムウエア

    東京コスモス電機

    長野日本無線

    東海ソフト

    Bee

    日本マイクロシステムズ山電器

    日新システムズ

    D-10

    D-06

    D-05

    D-04

    YAMABISHI

    スマートジャパン

    アライアンス

    富士経済

    エブリ

    D-16

    D-17

    D-15

    D-14

    dSPACEJapan

    D-13

    イメディオパビリオン

    関西積乱雲プロジェクト

    D-12

    D-11

    D-09

    D-08

    D-07

    D-03

    本田技研工業

    D-02

    日本アルテラ

    D-01

    キヤノンソフトウェア

    フリースケール・セミコンダクタ・ジャパン

    エルイーテック

    日立ソリューションズ

    コアスタッフ

    ベリフィケーションテクノロジー

    B-22

    B-17

    B-21

    B-20

    B-19

    B-18

    アルファプロジェクト

    ARKUS

    日本パルスモーター

    イノテック

    C-12

    C-11

    C-10アドバネット

    Chips &Media

    C-09

    C-08

    C-07

    コア

    B-16

    たけびし

    EMS-JPグループ

    Spansion ハギワラソリューションズ情報処理推進機構

    (IPA)ディジ

    インターナショナル日比谷総合設備

     ルーム2+3 基調講演

    ルーム1 IPAセミナー

    ルーム4商談ルーム

    ルーム5 ヒートアップセッション/知財のセミナー/JASAセミナー

    ルーム7  スマートエネルギーセミナー/

    出展社セミナー/Digi M2M CONFERENCE

    2014 Osaka

    ルーム8 IoTトラック/出展社セミナー

    ルーム9 テクニカルセッション/出展社セミナー

    C-28C-27B-23B-15A-13

    A-03

    A-02

    立命館大学電子情報工学科ネットワークLSIシステム研究室

    岡山県立大学情報工学部情報システム工学科回路デザイン研究室

    名古屋大学大学院情報科学研究科付属

    組込みシステム研究センター

    ユニバーシティパビリオン

    U-04 U-05 U-06

    2014年 7月29日(火)-30日(水) グランフロント大阪 コングレコンベンションセンター

    オムロンソフトウェア

    ウルトラエックス

    バルテス・モバイルテクノロジー

    テレダイン・レクロイ・ジャパン

    ベリサーブバルテス

    ユニダックス アバールデータ

    RITAエレクトロニクス

    A-12

    A-08

    A-07

    A-06

    A-11

    A-10

    A-09

    A-05

    組込みシステム産業振興機構

    A-04

    アドバンスド・データ・コントロールズ

    A-01

    九州工業大学

    大阪電気通信大学大学院GENET/奈良工業

    高等専門学校 ユニバーシティパビリオン

    展示会登録所

    BEMS/FEMS/HEMS/MEMSゾーン

    IoT ゾーン

    U-01 U-01 U-01

    イーソル

    GENUSION

    星和電機 近藤電子工業

    アズマ窓飛

    ビットラン

    B-14

    B-10

    B-09

    B-08

    B-13

    B-12

    B-11

    B-07ノリタケ伊勢電子

    イー・フォース

    暁電機製作所

    ナムコール製作所

    金沢工業大学・北陸先端科学技術大学院大学

    iTestアイエーアール・システムズ

    プライムゲート

    C-26

    グレープシステム

    C-18

    C-22

    C-21

    C-20

    C-25

    C-24

    C-23

    C-13

    オンテック

    とめ研究所

    日本キャステム

    TOPPERSプロジェクトNSCore

    C-15

    C-14

    C-17

    C-16

    C-13

    三菱電機インフォメーションシステムズ

    C-06

    アルゴシステム

    スパークスシステムズジャパン

    HMSインダストリアルネットワークス

    セカンドセレクションレジェンド

    C-03

    C-02

    C-05

    C-04

    C-01

    アイティアクセスB-06

    中央電子

    ファームウェアシステム

    共和電子製作所

    シグマ電子工業アトラシアン

    B-03

    B-02

    B-05

    B-04

    B-01

    日本システムウエア

    東京コスモス電機

    長野日本無線

    東海ソフト

    Bee

    日本マイクロシステムズ山電器

    日新システムズ

    D-10

    D-06

    D-05

    D-04

    YAMABISHI

    スマートジャパン

    アライアンス

    富士経済

    エブリ

    D-16

    D-17

    D-15

    D-14

    dSPACEJapan

    D-13

    イメディオパビリオン

    関西積乱雲プロジェクト

    D-12

    D-11

    D-09

    D-08

    D-07

    D-03

    本田技研工業

    D-02

    日本アルテラ

    D-01

    キヤノンソフトウェア

    フリースケール・セミコンダクタ・ジャパン

    エルイーテック

    日立ソリューションズ

    コアスタッフ

    ベリフィケーションテクノロジー

    B-22

    B-17

    B-21

    B-20

    B-19

    B-18

    アルファプロジェクト

    ARKUS

    日本パルスモーター

    イノテック

    C-12

    C-11

    C-10アドバネット

    Chips &Media

    C-09

    C-08

    C-07

    コア

    B-16

    たけびし

    EMS-JPグループ

    Spansion ハギワラソリューションズ情報処理推進機構

    (IPA)ディジ

    インターナショナル日比谷総合設備

     ルーム2+3 基調講演

    ルーム1 IPAセミナー

    ルーム4商談ルーム

    ルーム5 ヒートアップセッション/知財のセミナー/JASAセミナー

    ルーム7  スマートエネルギーセミナー/

    出展社セミナー/Digi M2M CONFERENCE

    2014 Osaka

    ルーム8 IoTトラック/出展社セミナー

    ルーム9 テクニカルセッション/出展社セミナー

    C-28C-27B-23B-15A-13

    A-03

    A-02

    立命館大学電子情報工学科ネットワークLSIシステム研究室

    岡山県立大学情報工学部情報システム工学科回路デザイン研究室

    名古屋大学大学院情報科学研究科付属

    組込みシステム研究センター

    ユニバーシティパビリオン

    U-04 U-05 U-06

    2014年 7月29日(火)-30日(水) グランフロント大阪 コングレコンベンションセンター

    成果

    •  モデル検査によるUML設計の検証⽀支援ツールの開発  •  開発現場における事例例への適⽤用に基づく評価

    •  ⾃自動検証による⼈人的・時間的コストを削減  •  ソフトウェア信頼性の担保

  • Circuit  Design  Engineering  Lab.  -‐  Okayama  Prefectural  University

    謝辞

    2014/07/29 ETWest2014  IPAブースプレゼン 18

    本発表は,独⽴立立⾏行行政法⼈人情報処理理推進機構・技術本部  ソフトウェア⾼高信頼化センター(IPA/SEC)が実施した,  「2013年年度度ソフトウェア⼯工学分野の先導的研究⽀支援事業(RISE)」の⽀支援を受けて,  公⽴立立⼤大学法⼈人岡⼭山県⽴立立⼤大学(研究責任者・有本和⺠民)が⾏行行った  研究成果の⼀一部を取りまとめたものです.