UML. A Model Trasformation Environment for Embedded Control Software Design with Simulink Models and UML Models

Similar documents
Methods to Detect Malicious MS Document File using File Structure Inspection

Androidプログラミング 2 回目 迫紀徳

PSLT Adobe Typekit Service (2016v1.1)

電脳梁山泊烏賊塾 構造体のサイズ. Visual Basic

MySQL Cluster 7.3 リリース記念!! 5 分で作る MySQL Cluster 環境

Yamaha Steinberg USB Driver V for Mac Release Notes

J の Lab システムの舞台裏 - パワーポイントはいらない -

Unofficial Redmine Cooking - QA #782 yaml_db を使った DB のマイグレーションで失敗する

携帯電話の 吸収率 (SAR) について / Specific Absorption Rate (SAR) of Mobile Phones

携帯電話の 吸収率 (SAR) について / Specific Absorption Rate (SAR) of Mobile Phones

2. 集団の注目位置推定 提案手法では 複数の人物が同一の対象を注視している状況 置 を推定する手法を検討する この状況下では 図 1 のよう. 顔画像からそれぞれの注目位置を推定する ただし f は 1 枚 この仮説に基づいて 複数の人物を同時に撮影した低解像度顔

Yamaha Steinberg USB Driver V for Windows Release Notes

Cloud Connector 徹底解説. 多様な基盤への展開を可能にするための Citrix Cloud のキーコンポーネント A-5 セールスエンジニアリング本部パートナー SE 部リードシステムズエンジニア. 哲司 (Satoshi Komiyama) Citrix

本書について... 7 本文中の表記について... 7 マークについて... 7 MTCE をインストールする前に... 7 ご注意... 7 推奨 PC 仕様... 8 MTCE をインストールする... 9 MTCE をアンインストールする... 11

Yamaha Steinberg USB Driver V for Windows Release Notes

Studies of Large-Scale Data Visualization: EXTRAWING and Visual Data Mining

フラクタル 1 ( ジュリア集合 ) 解説 : ジュリア集合 ( 自己平方フラクタル ) 入力パラメータの例 ( 小さな数値の変化で模様が大きく変化します. Ar や Ai の数値を少しずつ変化させて描画する. ) プログラムコード. 2010, AGU, M.

Vehicle Calibration Techniques Established and Substantiated for Motorcycles

WD/CD/DIS/FDIS stage

Googleの強みは ささえるのは世界一のインフラ. Google File System 2008年度後期 情報システム構成論2 第10回 クラウドと協調フィルタリング. 初期(1999年)の Googleクラスタ. 最近のデータセンタ Google Chrome Comicより

サーブレットと Android との連携. Generated by Foxit PDF Creator Foxit Software For evaluation only.

Agilent. IO Libraries Suite 16.3/16.2 簡易取扱説明書. [ IO Libraries Suite 最新版 ]

UB-U01III/U02III/U03II User s Manual

Relaxed Consistency models and software distributed memory. Computer Architecture Textbook pp.79-83

~ ソフトウエア認証への取り組みと課題 ~

Computer Programming I (Advanced)

楽天株式会社楽天技術研究所 Autumn The Seasar Foundation and the others all rights reserved.

PRODUCT DESCRIPTIONS AND METRICS

Unified System Management Technology for Data Centres

MetaSMIL : A Description Language for Dynamic Integration of Multimedia Content

JASCO-HPLC Operating Manual. (Analytical HPLC)

Quick Install Guide. Adaptec SCSI RAID 2120S Controller

マルチビットアップセット耐性及びシングルビットアップセット耐性を備えた

暗い Lena トーンマッピング とは? 明るい Lena. 元の Lena. tone mapped. image. original. image. tone mapped. tone mapped image. image. original image. original.

Snoop cache. AMANO, Hideharu, Keio University Textbook pp.40-60

The Secret Life of Components

A. 展開図とそこから折れる凸立体の研究 1. 複数の箱が折れる共通の展開図 2 通りの箱が折れる共通の展開図 3 通りの箱が折れる共通の展開図そして. 残された未解決問題たち 2. 正多面体の共通の展開図 3. 正多面体に近い立体と正 4 面体の共通の展開図 ( 予備 )

API サーバの URL. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE COMPLIANCE_SCAN SYSTEM "

Certificate of Accreditation

Zabbix ログ解析方法. 2018/2/14 サイバートラスト株式会社 Linux/OSS 事業部技術統括部花島タケシ. Copyright Cybertrust Japan Co., Ltd. All rights reserved.

サンプル. NI TestStand TM I: Introduction Course Manual

Lecture 4 Branch & cut algorithm

Introduction to Information and Communication Technology (a)

振込依頼書記入要領 Entry Guide for Direct Deposit Request Form

DürrConnect the clever connection. The quick connection with the Click

今日の予定 1. 展開図の基礎的な知識 1. 正多面体の共通の展開図. 2. 複数の箱が折れる共通の展開図 :2 時間目 3. Rep-Cube: 最新の話題 4. 正多面体に近い立体と正 4 面体の共通の展開図 5. ペタル型の紙で折るピラミッド型 :2 時間目 ~3 時間目

Video Annotation and Retrieval Using Vague Shot Intervals

Online Meetings with Zoom

PCIe SSD PACC EP P3700 Intel Solid-State Drive Data Center Tool

PGroonga 2. Make PostgreSQL rich full text search system backend!

URL IO オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科

MathWorks Products and Prices Japan September 2016

Certificate of Accreditation

TOOLS for MR V1.7.7 for Mac Release Notes

IPv6 関連 WG の状況 (6man, v6ops, softwire)

Private Sub 終了 XToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 終了 XToolStripMenuItem.

Synchronization with shared memory. AMANO, Hideharu Textbook pp.60-68

ポータブルメディア機器向けプロセッサ フォトフレーム向けメディアプロセッサ

船舶保安システムのセルフチェックリスト. Record No. Name of Ship 船名 flag 国籍 Name of Company 会社名 Date 点検日 Place 場所 Checked by 担当者名. MS-SELF-CHK-SHIP-j (2012.

Saki is a Japanese high school student who/ has just started to study/ in the US.//

BMW Head Up Display (HUD) Teardown BMW ヘッドアップディスプレイティアダウン

tp.responsewriter, r *http.request) { /* Hmmm, I wonder if this main */ hosttokens := strings.split(r.host, ":"); if len(hosttok

Web Billing User Guide

Preparing Information Design-Oriented. Posters. easy to. easy to. See! Understand! easy to. Convey!

和英対訳版. IEC Standard Template のユーザーガイド 備考 : 英語原文掲載 URL ( 一財 ) 日本規格協会

Operational Precaution

Verify99. Axis Systems

HPE Insight Control サーバープロビジョニング 7.6 ビルドプランリファレンスガイド

第 2 回先進スーパーコンピューティング環境研究会 (ASE 研究会 ) 発表資料

NI TB Introduction. Conventions INSTALLATION INSTRUCTIONS Wire Terminal Block for the NI PXI-2529

DCBDQuery Query Language for RDF using Dynamic Concise Bounded Description

SteelEye Protection Suite for Linux

L3 SSG/SSD を使用している PPPoA クライアントで PC を設定すること

FUJITSU Software SystemcastWizard Professional V5.1 L30 ユーザーズガイド B7FW Z0(00) 2014 年 8 月

BraindumpQuiz. Best exam materials provider - BraindumpQuiz! Choosing us, Benefit more!

BABr11.5 for Linux のインストール 2007/12/21. You are running Linux on Kernel smp. Analyzing the environment

YAS530B MS-3E Magnetic Field Sensor Type 3E

ご注意. (4) 運用した結果の影響につきましては (4) の項に関わらず責任を負いかねますのでご了承ください (5) Autodesk Device Interface(ADI) および Heidi Device Interface(HDI) ドライバは 周辺機器メーカーに対応しています

Structured Report Implement rev2.1. Konica Minolta Medical & Graphic Inc. R&D Center Software Development Division Hiroyuki KUBOTA 2006/7/20

IRS16: 4 byte ASN. Version: 1.0 Date: April 22, 2008 Cisco Systems 2008 Cisco, Inc. All rights reserved. Cisco Systems Japan

Appliance Edition 入門ガイド

プログラマ本体 I/F 回路図 -Programmer I/F Circuit Diagram-...2 FLASH2 内部 2 FLASHMATE5V1 内部 2

Oracle Cloud で実現する DevOps

Quick Installation Manual

PNRGOV/Ver11.1/ 旅客氏名表予約情報報告 (PNR01)

4. 今回のプログラム 4.2 解決のクラス SearchNumber.java

2007/10/17 ソフトウェア基礎課題布広. /** * SOFT * AppletTest01.java * 文字表示 */

Modern editor-independent development environment for PHP

HA8000V シリーズ. Service Pack for HA8000V (SPH) Version Readme. All Rights Reserved. Copyright (c) 2018 Hitachi, Ltd.

Chapter 1 Videos Lesson 61 Thrillers are scary ~Reading~

Industrial Solar Power PoE Switch

DSK8AD1DA. 8ch A/D & 1ch D/A for DSK/EVM.

アルゴリズムの設計と解析 (W4022) 教授 : 黄潤和 広野史明 (A4/A8)

Ritsu-Mate Registration Manual (for Undergraduate Programs)

2018 年 2 月 16 日 インテル株式会社

A note on quaternion, applied to attitude estimation Minoru HIGASHIGUCHI 四元数について衛星姿勢の逐次推定への応用例

Project to Transfer Mission-critical System of Banks to Private Cloud

モデルのパフォーマンスに 関するテクニカルノート

Analysis on the Multi-stakeholder Structure in the IGF Discussions

IP Network Technology

Transcription:

Simulink UML 1,a) 1, 1 1 1,b) 1,c) 2012 3 5, 2012 9 10 Simulink UML 2 MATLAB/Simulink Simulink UML Simulink UML UML UML Simulink Simulink MATLAB/Simulink UML A Model Trasformation Environment for Embedded Control Software Design with Simulink Models and UML Models Masayoshi Tamura 1,a) Tatsuya Kamiyama 1, 1 Takahiro Soeda 1 Myungryun Yoo 1,b) Takanori Yokoyama 1,c) Received: March 5, 2012, Accepted: September 10, 2012 Abstract: The paper presents a model transformation environment to transform a Simulink model to a UML model. The embedded control software development process consists of the control logic design phase and the software design phase. MATLAB/Simulink is widely used to build a controller model in the control logic design phase. On the other hand, UML is widely used in the software design phase. To shift from the control logic design phase to the software design phase smoothly, we have developed a model transformation tool to transform a Simulink model to a UML model. The UML model generated by the transformation tool consists of classes that encapsulate data and calculation methods of the data. To improve the reusability of the UML model, the Simulink model should be well-layered. We have also developed a layering support tool for efficient layering of the Simulink model. We have applied the model transformation environment to a number of Simulink models and found it useful for embedded control software design. Keywords: embedded software, model-based design, MATLAB/Simulink, UML, model transformation 1 Tokyo City University, Setagaya, Tokyo 158 8557, Japan 1 Presently with A&D Company, Limited a) g1181524@tcu.ac.jp b) yoo@cs.tcu.ac.jp c) yokoyama@cs.tcu.ac.jp 1. c 2012 Information Processing Society of Japan 2660

2 MATLAB/Simulink [1] CAE/CAD MATLAB/Simulink Simulink Simulink MATLAB/Simulink Real-Time Workshop Embedded Coder Simulink MATLAB/Simulink CAE/CAD Sangiovanni- Vincentelli CAE/CAD [2] CAE/CAD MATLAB/Simulink CAE/CAD UML Simulink UML MATLAB/Simulink Simulink Simulink UML UML UML UML Simulink UML Simulink UML [3], [4], [5], [6], [7] Simulink 1 1 UML UML UML Simulink UML [8] [9] Simulink UML UML UML Simulink Simulink 1 Subsystem Simulink 2 3 4 5 6 2. 2.1 1 Control Logic Design Software Design Programming 2.1.1 MATLAB/Simulink Control Logic Simulink Simulink Model Simulink 2 Simulink c 2012 Information Processing Society of Japan 2661

1 Fig. 1 Development flow of embedded control software. 2 Simulink Fig. 2 Example Simulink model. Simulink Subsystem Simulink Inport Outport Subsystem 3 Simulink Simulink UML Throttle Controller Simulink 2 2 Simulink Simulink Engine Revolution Engine Status Accelerator Opening 3 Inport Torque Throttle Opening 2 Subsystem Torque Calculation Throttle Opening Calculation 1 Outport 2 Simulink Subsystem uint16 16 bit Simulink 2.1.2 Simulink UML Functional Design Nonfunctional Design 2 Simulink UML UML Functional Model UML UML Editor UML Implementation Model 2.2 2.3 2.1.3 Simulink Embedded Coder [1] UML Source Program Code Generator [10] Simulink update get c 2012 Information Processing Society of Japan 2662

2.2 Transformation Tool Simulink UML 3 [9] 1 [11] UML UML ValueObject 3 ValueObject value update get update get cons 2 Simulink 4 Engine Revolution Engine Status 3 Fig. 3 Base class of data object. 4 Fig. 4 Example class diagram of functional model. Accelerator Opening Torque Throttle Opening Throttle Controller 6 Inport update 2 Simulink update exec exec 2.3 [12] [13], [14] [15] Model Weaver [16], [17] 4 1 c 2012 Information Processing Society of Japan 2663

Fig. 5 5 Example class diagram of implementation model. 4 5 Buffer 3. 3.1 UML Simulink 2.1.1 Simulink Inport Outport Subsystem 3 Subsystem Subsystem 2.2 Simulink update Subsystem Simulink Simulink Simulink Simulink Simulink 6 Simulink Fig. 6 Layering of Simulink model. 6 Layering Support Tool Simulink mdl Simulink mdl Simulink Simulink Simulink Simulink 6 Simulink Controller1 Subsystem1 2 Window1 Controller1 Window2 Subsystem1 System Simulink Simulink Subsystem Subsystem SrcBlock DstBlock LineName DataName DataName Inport Inport Subsystem Outport Simulink 6 Window1 1 In1 Subsystem1 Line1 Controller1 In1 Select Subsystem1 Out1 DataA Gain1 Sum1 c 2012 Information Processing Society of Japan 2664

Subsystem1 Inport Outport 2.1.1 DataName DataB Simulink mdl Subsystem 1 Simulink mdl Simulink Subsystem 6 Simulink Controller1 Subsystem1 Subsystem2 2 DataA DataB Subsystem Subsystem Simulink 3.2 Simulink UML UML 7 7 Fig. 7 Model transformation tool. 8 Fig. 8 Transformation rules for structural model. Simulink mdl mdl Simulink Simulink Simulink XMI XMI UML [18] 3.2.1 3.2.2 3.2.1 Simulink 8 8 (a) Inport Inport DataA value get 8 (b) Subsystem Subsystem DataB value update c 2012 Information Processing Society of Japan 2665

Fig. 9 9 Example object diagram of functional model. get Simulink int value 8 (c) Subsystem Subsystem1 Subsystem2 DataC DataD Inport cons 8 (d) Simulink Simulink Simulink Controller exec Subsystem DataE 2 Simulink 4 Simulink 9 Engine Revolution Engine Status Accelerator Opening Torque ThrottleOpening Throttle Controller 6 9 1 1 9 1 1 3.2.2 Simulink 10 Simulink 10 Fig. 10 Transformation rules for behavioral model. exec 10 (a) Controller exec exec 10 (b) DataA 1 1 10 (c) update update Simulink Subsystem Controller exec DataB update update 10 (d) get DataC Inport Simulink cons get DataD DataC update get update get Subsystem update Simulink exec c 2012 Information Processing Society of Japan 2666

update 11 11 (a) (b) Simulink update Simulink update (a) DataF DataE DataE DataF update DataE update (b) DataI DataH DataH DataG DataI DataH DataH DataG DataG DataH DataI update 11 (c) (d) Simulink update par (c) DataJ DataK DataL DataJ DataK update (d) DataM DataN DataO 11 update Fig. 11 Transformation rules for update method calling sequence. DataM DataN update DataM DataN DataO DataP DataQ DataM DataN DataO DataP 2 Simulink 12 Throttle- Controller exec exec 2 Simulink Torque ThrottleOpening update update EngineStatus AcceleratorOpening get update EngineRevolution get exec 4. Simulink MathWorks [1] Simulink Simulink Simulink 1 Simulink 2 Simulink 13 14 1 Simulink Table 1 Models Used in Experiments Subsystem Inport Outport Fig. 12 12 Example sequence diagram of functional model. 15 4 1 30 6 5 8 1 4 c 2012 Information Processing Society of Japan 2667

情報処理学会論文誌 Vol.53 No.12 2660 2670 (Dec. 2012) 図 13 ハイブリッド駆動システムの Simulink モデル 図 16 ハイブリッド駆動システムのシーケンス図 Fig. 13 Simlink model of hybrid electric vehicle system. Fig. 16 Sequence diagram of hybrid electric vehicle system. 5. 関連研究との比較 これまでに Simulink モデルから UML モデルに自動変換 するツールがいくつか提案されている Ramos-Hernandez らは Simulink モデルを UML モデルに自動変換するツー ルを提案している [3], [4] このツールは Simulink モデル のブロック 1 つ 1 つをインタフェースクラスに変換する Mu ller-glaser らは Simulink モデルの各要素をオブジェ クトとして UML モデルに変換する自動変換ツールを提案 している [5], [6] この手法では Simulink モデルのブロッ 図 14 ハイブリッド駆動システムのクラス図 ク ライン 分岐をそれぞれオブジェクトに対応させた Fig. 14 Class diagram of hybrid electric vehicle system. オブジェクト図を生成する Sjo stedt らもまた Simulink モデルを UML モデルに自動変換するツールを提案してい る [7] このツールは 構造を表す UML モデル 以下 構 造図 の 1 つである複合構造図と振舞いを表す UML モデ ル 振舞い図 の 1 つであるアクティビティ図を生成する これらの手法では Simulink モデルのブロック 1 つ 1 つ を UML モデルのクラスとしている そのため いくつか のクラスを組み合わせなければ制御に必要なデータを算出 できない よって クラスを再利用する場合でも Simulink モデルを用いて制御設計を行うのと同様の設計作業が必要 となり それをソフトウェア設計者が行うのは難しい し たがって これらの手法では UML モデルの部品化再利用 図 15 ハイブリッド駆動システムのオブジェクト図 Fig. 15 Object diagram of hybrid electric vehicle system. 図を図 15 に シーケンス図を図 16 に示す に適しているとはいえない これに対して本手法では 2.2 節で述べているように 制 御的に重要な意味を持つデータ 物理量 をオブジェクト 以上のように ソフトウェアとしての実装を考慮してい ととらえ データとその値を算出する処理とをまとめてカ ない純粋な制御ロジックを記述した Simulink モデルを階 プセル化し 1 つのクラスとしている そのため 制御ロ 層化し 階層化した Simulink モデルからソフトウェアの構 ジックの詳細を理解していなくてもクラスを再利用するこ 造と振舞いを表す UML モデルに変換することができた とができる また 制御ロジックの変更やデータの追加を これらの結果から 本モデル変換環境は実際の組み込み制 行う場合も UML モデルのクラス構造や他のクラスへの 御ソフトウェア開発に適用可能と考える 影響が少なくて済む 以上のように 本研究の変換方法は 他の関連研究に比べ再利用性に優れていると考えられる c 2012 Information Processing Society of Japan 2668

6. Simulink Simulink UML Simulink 3 UML Simulink Simulink Stateflow Simulink [1] The Math Works Inc., available from http://www.mathworks.com/. [2] Sangiovanni-Vincentelli, A. and Di Natale, M.: Embedded System Design for Automotive Applications, IEEE Computer, Vol.40, No.10, pp.42 51 (2007). [3] Ramos-Hernandez, D.N., Fleming, P.J., Bennett, S., Hope, S., Bass, J.M. and Baxter, M.J.: Process Control Systems Integration Using Object Oriented Technology, Proc. Technology of Object-Oriented Languages and Systems TOOLS 38, pp.148 158 (2001). [4] Ramos-Hernandez, D.N., Fleming, P.J. and Bass, J.M.: A Novel Object-Oriented Environment for Distributed Process Control Systems, Control Engineering Practice, Vol.13, No.2, pp.213 230 (2005). [5] Kühl, M., Spitzer, B. and Müller-Glaser, K.D.: Universal Object-Oriented Modeling for Rapid Prototyping of Embedded Electronic Systems, Proc. 12th IEEE International Workshop on Rapid System Prototyping, pp.149 154 (2001). [6] Müller-Glaser, K.D., Frick, G., Sax E. and Kühl, M.: Multiparadigm Modeling in Embedded Systems Design, IEEE Trans. Control Systems Technology, Vol.12, No.2, pp.279 292 (2004). [7] Sjöstedt, C.-J., Shi, J., Törngren, M., Servat, D., Chen, D., Ahlsten, V. and Lönn, H.: Mapping Simulink to UML in the design of embedded systems: Investigating scenarios and structural and behavioral mapping, Proc. OMER 4 Post Workshop (2008). [8] Simulink UML Vol.2010-EMB-18, No.7, pp.1 7 (2010). [9] Vol.34, No.2, pp.338 349 (2003). [10] 74 1L-5 (2012). [11] Vol.46, No.6, pp.1436 1446 (2005). [12] Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. Loingtier, J.M. and Irwin, J.: Aspect-Oriented Programming, Proc. 11th European Conference on Object-Oriented Programming, pp.220 242 (1997). [13] Wehrmeister, M.A., Freitas, E., Pereira, C.E. and Wagner, F.R.: An Aspect-Oriented Approach for Dealing with Non-Functional Requirements in a Model- Driven Development of Distributed Embedded Real- Time Systems, Proc. 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, pp.428 432 (2007). [14] Driver, C., Reilly, S., Linehan, E., Cahill, V. and Clarke, S.: Managing Embedded Systems with Aspect- Oriented Model-Driven Engineering, ACM Trans. Embedded Computing Systems, Vol.10, No.2, pp.21:1 26 (2010). [15] Soeda, T., Yanagidate, Y. and Yokoyama T.: Embedded Control Software Design with Aspect Patterns, Journal of the Chinese Institute of Engineers, Vol.34, No.2, pp.213 225 (2011). [16] Kopetz, H.: Should Responsive Systems be Event- Triggered or Time-Triggered?, IEICE Trans. Information & Systems, Vol.E76-D, No.11, pp.1325 1332 (1993). [17] Vol.47, No.4, pp.1185 1194 (2006). [18] Object Management Group: XML Metadata Interchange Specification, Version 2.0.1 (2005). 1988 2011 1987 2010 2012 1986 2009 2012 c 2012 Information Processing Society of Japan 2669

1994 1996 2002 2006 2007 IEEE 1981 1983 1987 1990 2004 IEEE ACM c 2012 Information Processing Society of Japan 2670