JMAAB制御モデリングガイドラインの現状と将来

Similar documents
CANapeを用いたラピッドコントロールプロトタイピングのバイパス手法による制御モデル開発

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

簡易版メタデータ

2. 目的 1RationalRose を利用する場合にプログラム仕様書としての最低限必要な記述項目を明確にする 2 プログラム仕様書として記載内容に不足がない事をチェックする 3UML の知識があるものであれば 仕様書の内容を理解できること 4Rose にて入力した内容を SoDaWord を利用

MATLAB/Simulinkを利用したモデルベース開発のトレンドと将来展望

エンジニアリング・サービスから見たMBD導入の成功・失敗

障害管理テンプレート仕様書

変更要求管理テンプレート仕様書

スクールCOBOL2002

1. 主な機能追加項目 以下の検索項目をサポートしました 書誌 全文検索コマンド検索 国内 査定日 最新の査定日 ( 登録査定日または拒絶査定日 ) を検索します 査定種別 最新の登録 拒絶査定 または査定なしを検索します 審査最終処分日 最新の審査最終処分日を検索します 審査最終処分種別 最新の審

PowerPoint プレゼンテーション

やってみようINFINITY-写真管理 編-

文字コード略歴 よこやままさふみ社内勉強会 2012/05/18 文字コード略歴 Powered by Rabbit 2.0.6

AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ

<4D F736F F F696E74202D2093B CC8BE68AD B B82CC8AD AF95FB96405F88EA94CA ED28CFC82AF82C995D28F575F826C A6D94462E >

PowerPoint プレゼンテーション

改訂履歴 日付バージョン記載ページ改訂内容 V2.1 - 初版を発行しました V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ

intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第3版  

要求仕様管理テンプレート仕様書

f2-system-requirement-system-composer-mw

スライド 1

PowerPoint プレゼンテーション

スライド 1

WBS_Ch0.indd

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

PowerPoint プレゼンテーション

<4A414D41939D88EA B835E B836793FC97CD837D836A B E322E33288ED08A4F94C5816A2E786C73>

Exfront4.1.0リリースノート

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 9 3. プロフィール画像の登録 まとめ 29 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

コンテンツ作成基本編

5-2. 顧客情報をエクスポートする 顧客管理へのアクセス手順 メールディーラーで管理する顧客情報に関する設定を行います 1. 画面右上の 管理設定 をクリックする 2. 管理設定 をクリックする 3. ( タブ ) 顧客管理 をクリックする 2

2. メンバー管理 2.1 管理者権限 2.2 組織の登録 2.3 役職の登録 2.4 メンバーの登録 2.5 共有アドレス帳 2.6 グループの管理

第1部参考資料

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

コンテンツ作成基本編

目次 Adobe PDF でチェック & コメントのススメ チェック & コメントをはじめる前に チェック & コメントでよく使うツール ( その ) 6 チェック & コメントでよく使うツール ( その ) 8 コメントの確認と返信 0 共有レビュー機能で効率をさらにアップ 共有レビュー機能を使う

Microsoft PowerPoint - 簡易マニュアル_ver1.1.ppt [互換モード]

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB

生存確認調査ツール

プレポスト【解説】

(Microsoft PowerPoint - WQ21JDEadapter\215\\\220\254\216\350\217\207\217\221_ ppt)

intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第5版  

MAAB でのプレゼンテーション に関する提案

CONTENTS マニュアルの表記... S01-02_01 1.DataNature Smart 全体概要図... S01-02_11 2. 基本操作... S01-02_ ジョブの作成... S01-02_21 加工条件設定... S01-02_21 Step1: 処理対象データの指

intra-mart EX申請システム version.7.2 事前チェック

一括請求 Assist Ver.2 操作マニュアル 連携編 ( 蔵奉行 i8) 第 2.1 版

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法

Microsoft Word - ESxR_Trialreport_2007.doc

NTT Communications Presentation

JMAABプラントモデリングワーキンググループ活動報告

Microsoft Word - ModelAnalys操作マニュアル_

編集する ファイルを開く マイクロデータの設定を行うファイルまたはファイルを開きます 開かれたファイルは編集画面に表示されて ブラウザ表示した時のプレビューも同時に表示されます HTML ファイルの選択 編集する ファイルを開くためにメインメニューから ファイル 開く を選びます ファイル選択ダイア

ポインタ変数

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

1 POP 系の設定 重要事項 Windows10 のメールアプリで CCNet のメールを利用する場合 以下の点にご注意ください Windows 10 に標準でインストールされている メール アプリは 弊社のメール方式 (POP) に対応はしておりますが 本マニュアル制作時点 ( バージョン 17

Microsoft PowerPoint - 23_電子制御情報の交換(配布用a).pptx

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

Tech Info share 2015 Q2 CDA Team 2

<4D F736F F D208D C8FEE95F18DEC90AC A B D836A B2E646F63>

TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

Microsoft PowerPoint - A3② JaSST_MISRA2004ソースコード品質診断.ppt

目次 1 Adobe PDF でチェック & コメントのススメ 2 チェック & コメントをはじめる前に 4 チェック & コメントでよく使うツール ( その 1) 6 チェック & コメントでよく使うツール ( その 2) 8 コメントの確認と返信 10 共有レビュー機能で効率をさらにアップ 12

モデリング操作ガイド アクティビティ図編

<4D F736F F D20837D836A B5F93C192E88C AC888D593FC97CD5F2E646F63>

IMI情報共有基盤 「表からデータモデル」 データ変換のみを行う方向け画面説明

3. 回路図面の作図 回路図の作成では 部品など回路要素の図記号を配置し 要素どうしを配線するが それぞれの配線には 線番 などの電気的な情報が存在する 配線も単なる線ではなく 信号の入力や出力など部品どうしを結び付ける接続情報をもたせることで回路としての意味をもつ このように回路図を構成する図面は

スライド 1

作成するアプリ 本書は 楽々 Web データベースで 一覧アプリ を作成する方法を説明します 以下のような Excel ファイルの一覧表を題材に 楽々 Web データベースに Excel ファイルを読み込ん でアプリを作成し 使用するまで を説明します 課題管理表.xlsx タイトル詳細 内容対応優

< E8E968BC6916E91A291E58A E58A772E B838B2E786C7378>

更新履歴 No 更新箇所版数日付 1 第一版作成 /12/28 2 一部画像差し替え 誤字修正 /02/09 2

32-2 一般ユーザー用 : ドキュメント カテゴリ MAP での選択または 抽出条件設定画面にて 抽出 をクリックする事で 該当するデータが一覧で表示されます 結果一覧画面 表示項目説明カテゴリカテゴリ名を表示します をクリックすると カテゴリ表示順昇順に並べ替えが行えます をクリックすると カテ

DMtoJPGISVer1.0 操作説明書 平成 19 年 3 月 国土交通省国土地理院

短納期開発現場への XDDP 導入手法

【rakumoソーシャルスケジューラー】管理者マニュアル<Lightning UI版>

構成管理記録テンプレート仕様書

【バーコード作成】マニュアル 第1版

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

Library for Cadence OrCAD Capture ユーザマニュアル 2018 年 7 月 株式会社村田製作所 Ver.1.0 Copyright Murata Manufacturing Co., Ltd. All rights reserved. 10 July

< 削除ボタン チェックボックスについて 1> 対象 を退職社員のみで検索した場合 対象 を全てで検索した場合 システム管理 : 社員登録

目次 1. 変換の対象 砂防指定地 XML 作成メニュー シェープファイルからXMLへ変換 砂防指定地 XMLとシェープファイルの対応.csv 変換処理 CSVファイルによる属性指定... 5

JACi400のご紹介~RPGとHTMLで簡単Web化~

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

労働局適用徴収業務支援システム 事務組合連携機能 インタフェース仕様書 2012 年 3 月作成 2014 年 3 月改定

Honda JAMA/JAPIA統一データシート運用マニュアル

はじめに - マニュアルエディター機能の概要 - Dojoの種類とマニュアルエディター機能解除について マニュアルレイアウトの生成 - マニュアルレイアウトの生成 基本編集 4 - 表紙の挿入 4 - 目次の挿入 5 - 一括変換 6 4 マニュアルビルド 9 4- MS Word 9

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することが出来る便利なアプリケーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライアントと本資料に差分が発生する場合が

S-maqs利用の手引きver1.0

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

ISO 9001:2015 改定セミナー (JIS Q 9001:2015 準拠 ) 第 4.2 版 株式会社 TBC ソリューションズ プログラム 年版改定の概要 年版の6 大重点ポイントと対策 年版と2008 年版の相違 年版への移行の実務

マイクロソフト IT アカデミー E ラーニングセントラル簡単マニュアル ( 管理者用 ) 2014 年 11 月

やってみようINFINITY-製品仕様書 品質評価表 メタデータ 編-

<4D F736F F F696E74202D204E4B8D EF8E9197BF5F91E A291448F8A2E >

BACREX-R 小売標準化テンプレートドキュメント

◎phpapi.indd

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することができる便利なアプリケ ーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライア ントと本資料に差分が発生する場

2. 総合情報センターホームページからアクセス 総合情報センターホームページ ( 左上にある Web メール をクリ ックします 2015 年 3 月 5 日 ( 木 ) までは現在のメールシステムが表示されます Web ブラウザから直接アクセ

Windows Graphic Loader for Label Printers

Transcription:

JMAAB 制御モデリングガイドラインの 現状と将来 2016 年 9 月 16 日 アイシン コムクルーズ株式会社 久保孝行

目次 下記の3つのパートを説明します ガイドラインの歴史とVer4の特徴 Ver5.0に向けた制御モデリングガイドラインWG 活動概要 新ルール ここが変わる Ver5.0での変更内容の説明 ガイドラインの将来

制御モデリングガイドライン WG 発足の背景 目的 ソフトウェア開発において Simulink を使ったモデルベース開発が行われるようになってきた モデルのやり取り モデルの書き方を統一し 異なる設計者同士で共通の理解を容易に得られる

JMAAB スタイルガイドライン とは CONTROL ALGORITHM MODELING GUIDELINES USING MATLAB, Simulink, and Stateflow 自動車用の制御装置のコントローラモデルを運用するうえで Simulink/Stateflow モデルの記述についてルールを規定したもの JMAAB のワーキング活動で作成したガイドラインを JMAAB スタイルガイドライン と記載しています

過去の JMAAB スタイルガイドライン参加会社 Ver1.0 1. アイシン精機 2. ジヤトコ 3. デンソー 4. トヨタ自動車 5. 日産自動車 6. 日立製作所 7. 本田技術研究所 8. マツダ サイバネットシステム Ver2.0 青字 : 前回 Ver からの追加メンバー 1. アイシン AW 2. アイシン精機 3. いすゞ自動車 4. ジヤトコ 5. トヨタ自動車 6. 日立製作所 7. マツダ 8. 三菱電機 サイバネットシステム 五十音順 株式会社は省略 日立製作所は 現在日立オートモーティブシステムズ Ver4.0 1. アイシン AW 2. アイシン精機 3. いすゞ自動車 4. オムロンオートモーティブエレクトロニクス 5. カルソニックカンセイ 6. スズキ 7. ダイハツ工業 8. デンソー 9. トヨタ自動車 10. 日産自動車 11. ミツバ 12. 三菱電機 マスワークスジャパン

JMAAB スタイルガイドライン改定の流れ NAMAAB ( 北米の自動車業界ユーザー会 ) Orion GN&C MATLAB/Simulink Standards MISRA SLSF Guidelines WG 活動時期 2015 2001 JMAAB V1.0 2001 年 4 月 2003 2007 2010 2003 年 4 月 英訳 2007 年 4 月 V2.0 意訳 2011 年 7 月 V2.2 2012 年 8 月 V3.0 MATLAB のヘルプは MW が日本語訳 JMAAB と文面にずれが V2.0 V3.0 V4.0 2001 V1.0 ルール追加と統合 V2.0 意訳の展開 2015 年 5 月 V4.0 2001 年 4 月 JMAAB が活動開始 2010 WG 活動無し 2015

MAAB スタイルガイドライン Ver2 Ver3 NAMAAB 側のルール追加の特徴 ルールではなく 概念が多い ルールの意図が不明 禁則事項が不明確でチェックができない JMAAB 側の方向性 概念はルールではない ルールは 一意に解釈でき 自動的に決定可能であるべき 流派は 流派として区別すべき NAMAAB 側が 独自に改定するのを任せられない JMAAB 側に ガイドラインを改定する WG が必要! NAMAAB からの Ver3 リリース前後から JMAAB 側で再活動開始

過去の JMAAB スタイルガイドラインの特徴 2003 年の JMAAB スタイルガイドライン V1.0 モデル構造に対する考え方を中心にガイドラインが構成される Data Dictionary:Simulink 仕様書で使用されるデータに関する規定がまとめられた 2007 年の JMAAB スタイルガイドライン V2.0 JMAAB スタイルガイドライン V1.0 を MAAB ガイドラインに統合した 両 V1 の内容に加えて 新ルールを追加した 2015 年の JMAAB スタイルガイドライン V4.0 ルールの詳細決定をユーザーに委ねるようパラメータを設定した 他ガイドライン (MISRAやORION) との関連を追加した ノウハウやヘルプ的な記述はIDを削除し 説明文書として掲載した 同一の内容が複数個所に掲載されたルールを統合した

バージョンごとのルール数 Ver4.0 では 各社からの新規ルール追加や 他団体のルールとの関連付けを行った結果 ルール数が大幅に増加しました 200 180 150 100 86 58 50 0 スタイルガイド Ver1.0 (2003 年 ) スタイルガイド Ver2.0 (2007 年 ) スタイルガイド Ver4.0 (2015 年 )

V4 への改定背景 : 乱立するスタイルガイドライン Simulink に関連するスタイルガイドが沢山あります 発行団体名 ガイドライン名 リリース時期 MAAB MAAB ガイドライン ( 略名 ) 2007 年 7 月 Ver2.0 2011 年 7 月 Ver2.2 2012 年 8 月 Ver3.0 2015 年 3 月 Ver4.0 MathWorks MathWorks Modeling Guidelines for High-Integrity Systems Modeling Guidelines for Code Generation 2009 年 9 月 Ver1.0 2016 年 3 月 Ver1.13 2010 年 9 月 Ver1.0 2016 年 3 月 Ver1.11 MISRA MISRA SLSF Guidelines 2009 年 5 月 Ver1.0 ORION Orion GN&C MATLAB/Simulink Standards 2011 年 10 月 Ver1.0 Ver4.0 作成時の課題不足しているルールをかき集めるには 多くのガイドラインを見る必要がある 逆の事が書いてある場合 何を信じれば良いか判断できない

MISRA が発行している MBD 系ガイドライン JMAAB ガイドラインの領域 MISRA-GMG Generic Modeling Guideline 概念書 MISRA-SLSF Guideline for Simulink/Stateflow モデルの記述 MISRA-TL for TargetLink MISRA-EC for Embedded Coder MISRA-SD for SCADE C コード生成 MISRA-AGC for automatically Generated C Coder C コード用の MISRA 採用ルール

掲載例 MISRA SLSF Guidelines Simulink Stateflow のガイドライン MISRA AC TL TL の設定 キャリブレーションパラメータあるいは名前付きの定数を含むブロックは 名前を見えるようにするためにサイズ変更されてはいけない Figure 11: Simulink ブロック サブシステムおよびライブラリブロックのサイズ

ガイドライン [MISRA-C:2004] [MISRA AC AGC] 160 140 120 20 MISRA ルール : 全 141 件 43 100 80 60 40 121 98 推奨必須 20 0 MISRA C:2004 MISRA AC AGC MISRA-C:2012 は MISRA AC AGC を統合

ガイドライン改定の流れ MISRA-C:2012 は ツールでの検出を想定した文面に変更された Rule( ルール ) と Directive( 指針 ) に分離 静的解析ツールの適用を想定しているガイドラインが Rule( ルール ) に分類 該当しない記述を Directive( 指針 ) に変更 JMAAB Ver4 以降でルールとそれ以外を分離 ルール区分を Decidable( 決定可能 ) と Undecidable( 決定不能 ) に分離 ルールに準拠してるか否かを論理的に区別できるツールを作り出せるか否かで Decidable( 決定可能 )Undecidable( 決定不能 ) に分類 JMAAB Ver4 以降 あいまいさを排除する取り組みを開始 Ver4 からの変更活動は MISRA2012 の改定時の取り組みと一緒

制御モデリングガイドライン WG 活動概要 JMAAB スタイルガイドライン Ver5.0

JMAAB スタイルガイドライン Ver5.0 参加会社 Ver5.0 1. アイシン AW 2. アイシン コムクルーズ 3. アイシン精機 4. いすゞ自動車 5. オムロンオートモーティブエレクトロニクス 6. ケーヒン 7. 小松製作所 8. スズキ 9. ダイハツ工業 10. デンソー 11. トヨタ自動車 12. 日立オートモーティブシステムズ 13. 富士通テン 14. マツダ 15. 三菱自動車 16. 三菱電機 17. 両毛システムズ マスワークスジャパン 青字 : 前回 Ver からの追加メンバー 五十音順 株式会社は省略

Simulink 項目のスケジュール 2015 JMAABオープンカンファレンス 2016 5 月 コア会議 9 月 1 月 コア会議 5 月 WG 7 月 27 日 10 月 23 日 12 月 7 日 3 月 10 日 可読性 WGからの追加項目検討サブ活動 1 Simulink 議論完了 フォーマット案検討 参加者が多いので 3 つのサブ WG グループを作り議論している関西 :1 中部 :1 関東 :1 サブ活動 2 Simulink 議論 サブ活動 3 選択項目の選定

Stateflow 項目のスケジュール 2016 2017 5 月 9 月 1 月 コア会議 5 月 WG 8 月 5 日 10 月 12 月 Simulink 編英訳 Stateflow 編英訳 サブ活動 1 サブ活動 2 Stateflow 議論完了 フォーマット転記 2017/6 Ver5.0 リリース サブ活動 3 Stateflow 議論 選択項目の選定

V5.0 ガイドライン作成コンセプト 1 複数のルールについてはサブ ID を設けることで ルールごとに採用 / 不採用が定義でき 重要度も個別に設定できるようにする 2 ルールの真意や考え方を明確にし なぜそのルールを守らなくてはいけないのか また 守らなかった場合にどんな影響があるのかを掲載する 3 複数の手順 ( 流派 パターン ) がある場合は選択式にする これらのコンセプトに従って 作業を進めている

新ルール ここが変わる Ver5.0 での変更内容の説明

表記方法の統一 下記の表記記号を用いることで 曖昧な表現を排除し 記述内容を形式的な表現にしました 種別表記表記例備考 ブロック名 [] [Outport] Simulink ライブラリに登録されている名前 パラメーター名 {} { 初期出力 } 設定ができるもの ( 値を持つもの ) 2015aの表示名 パラメーター値 0 チェックボックスの場合は on もしくは off 記載例 ID:na_0011 Ver4.0 Goto ブロックではローカル範囲を使用しなければなりません Ver5.0 [Goto] の { タグの可視性 } は ローカル にします

同一ルール内に複数の意図が混在する jc_0121: 加減算ブロック ( ) の使用方法 (Ver5.0) 加減算ブロックの { アイコン形状 } は 四角形 を使用します ただし フィードバックループの場合は { アイコン形状 } に 丸型 を使用できます 加減算ブロックの第一入力の符号は + とします ただし フィードバックループの場合は 第一入力の符号に - を使用できます 加減算ブロックの入力数は 2 つまでとします これらのルールは 一つの意図から発生しているか? 全てのルールの重要度は同じなのか?

同一ルール内に複数の意図が混在する jc_0121: 加減算ブロック ( ) の使用方法 (Ver5.0) ルール ルール ルール 加減算ブロックの { アイコン形状 } は 四角形 を使用します ただし フィードバックループの場合は { アイコン形状 } に 丸型 を使用できます 根拠 データフローを左から右にする事ができ 可読性が向上します フィードバックループの場合に円形を使用すると ループ処理が明確になります 加減算ブロックの第一入力の符号は + とします ただし フィードバックループの場合は 第一入力の符号に - を使用できます 根拠 第一入力の符号が統一される事で 制御仕様の可読性が向上します 加減算ブロックの入力数は 2 つまでとします 根拠 演算順序を明確に規定する事ができます ( コード生成の設計検討で オーバーフローの検証をやり易くするなどの意図がある ) 意図が異なるルールは ID を分けるべきだが 混乱する可能性があるため Ver5.0 ではサブ ID を付与しています 新規ルールについては 意図が違うものはそれぞれ ID を付与しています

サブ ID の付与 1 つの ID で複数のルールを記述している場合 ルールごとにサブ ID を付与することで 異なる重要度の設定やサブ ID 単位での採用 / 不採用の検討が可能になります jc_0121: 加減算ブロック ( ) の使用方法 (Ver5.0) a. 加減算ブロックの { アイコン形状 } は 四角形 を使用します ただし フィードバックループの場合は { アイコン形状 } に 丸型 を使用できます b. 加減算ブロックの第一入力の符号は + とします ただし フィードバックループの場合は 第一入力の符号に - を使用できます c. 加減算ブロックの入力数は 2 つまでとします Ver4.0 では Sum ブロックとして掲載していましたが 意図としては [Sum] や [Subtract] などの { 符号リスト } に + や - が設定できるブロックになります Ver5.0 では用語集として定義しています

複数パターンの選択方式へ jc_0657: 条件付制御フローブロックと Merge ブロックによる出力値保持 Ver4 では RAM 効率が向上する書き方を正それ以外の記載方法を誤りとしていました 正 誤

複数パターンの選択方式へ Ver4.0 ではパターン 1 を 正 パターン 2 を 誤 としてルール化していました しかし ルールの意図は過去値保持のモデリング方法の統一です Ver5.0 では ユーザーの目的 ( 可読性やコード効率 ) によって パターン 1,2 のどちらかが選択できるよう サブ ID の a1,a2 として記載しています jc_0657a1: jc_0657a2:

Ver5 記述ルール 同類の異なるルールは id が a,b,c として分離する 選択式のルールは id が a1,a2 として併記する 系統 末端 ID 意味 a 系統 a1 選択式のルール a2 a3 a とは異なるルール b c d 異なるルール

配布フォーマットの変更 1 つの ID でいくつのルールが存在するのか また それぞれのルールの根拠が紐付られるよう Ver5.0 ではガイドライン配布時のフォーマットを変更する予定です ルール ID ルール 根拠 jc_0610: 剰余算ブロックの演算子順序 サブ ID 記述内容重要度 a 乗除算ブロックの第一入力の符号は "*" とします 必須 b 乗除算ブロックの入力数は 2 つまでとします 強く推奨 サブ ID a b 記述内容 浮動小数点の場合 ブロック通りの演算順序 ((1 第一入力 ) 第二入力 ) のコードが生成され 無駄な演算が発生し 期待と異なります 演算順序が明確に規定できます

ガイドラインの将来

ガイドラインの将来 チェッカを実装後の課題 違反として検出された場合の対処が必要 1. 自動修正 簡単なルールほど修正項目が非常に多く自動修正がなければ工数ばかりが必要になり チェックの意味がなくなる 信頼できるより多くの自動修正が必要 2. 除外 ( 例 db_0032 ) 手動でも 修正不可能な場合は どうするのか? たとえば 交差を 0 にする Stateflow の状態数の上限を 6 にしたが 数値はあくまでも目安であり 修正しないほうが解りやすいケースもある

自動修正の必要性 外部へ委託後 納品物から見た目に関する違反が 500 件あった場合 あなたはどうしますか? 1. 全ての違反項目を修正する 2. ルールをチェック項目から除外する 3. 無視する 3 番が一番危険です そのうち 重要なルールのチェックも意味が無くなります

さまざまなルールが自動修正可能 JMAAB には 実行結果に影響しない見た目を統一化するルールが多い C 言語の スペースや改行位置の使い方に近いルールが多い 結果に影響せず 書き方を統一する方法 1. 最初から規制をかけて 統一化する 2. 後で 一斉に置換する このどちらかで 統一化できる

自動修正のレベル 自動修正は ランク分けができます いずれも 前提として実行結果が変わらない事を前提にしています レベル 1 1 個 対象ブロック レベル 2 1 個 1 個 レベル 3 複数 1 個 実行内容 チェックボックス等の ON ブロックの挿入 削除ブロックの入れ替え ブロックの挿入 削除ブロックの入れ替え レベル 4 複数 複数線の交差を考慮し ブロック配置までも綺麗に並べる 注意 : これは ACC 独自のレベル定義です JMAAB の定義ではありません

簡単な自動修正の例 決められたアノテーションを表示する 修正前 修正後 自動修正レベル 1

簡単な自動修正の例 修正前 修正後 else を追加 自動修正レベル 2 自動修正レベル 1

一歩踏み込んだ自動修正 例えば 社内ルール min,max は min,max ブロックを使用する このような例も 自動検出し 自動修正する事が可能です 使用ブロックの統一は チェッカーのチェック機能を有効にし メンバーの理解向上に役に立ちます 自動修正レベル 3

除外の例 db_0032 線を交差させない 編集しても 交差を 0 にできない

除外の例 編集しても 交差を 0 にできない 直接結線する場合に 絶対に解決できるかは 不明である モデルをどう変更しても Warning が残る場合 どうするのか? 検討して最良になったら pass としたい

除外の例課題 モデルを修正しても Warning が残る場合 どうするのか? モデルに 確認して 交差を最小限にしたマーク入れて 結果を pass にしたい ブロックに対しては UserData として ルールを確認したという独自の ID を埋め込み チェッカーを pass する仕組みが作れる PMC05 の発表で 紹介します 興味があれば 聞いてください

まとめ ユーザー視点で 使えるガイドラインを目指しています JMAAB スタイルガイドラインは Simulink/Stateflow ユーザーの為に作られた ユーザーの手による ユーザーの為のガイドライン 良いガイドラインを作ることが JMAAB の使命と考え メンバーで協力しガイドラインの改定を行っています Ver5.0 は 2017 年 6 月リリース予定です ご意見があれば jmaab-guideline@mathworks.com へ