[發(fā)明專利]一種實(shí)時(shí)嵌入式系統(tǒng)的仿真方法有效
| 申請?zhí)枺?/td> | 201410122430.0 | 申請日: | 2014-03-28 |
| 公開(公告)號: | CN103885816B | 公開(公告)日: | 2017-01-25 |
| 發(fā)明(設(shè)計(jì))人: | 王林章;曹婉瓊;陳志 | 申請(專利權(quán))人: | 南京大學(xué) |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 南京瑞弘專利商標(biāo)事務(wù)所(普通合伙)32249 | 代理人: | 楊曉玲 |
| 地址: | 210093 江*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 實(shí)時(shí) 嵌入式 系統(tǒng) 仿真 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明利用UML和Simulink實(shí)現(xiàn)實(shí)時(shí)嵌入式系統(tǒng)的仿真,對從序列圖提取的時(shí)間約束進(jìn)行測試,屬于軟件工程、模型驅(qū)動(dòng)工程和系統(tǒng)仿真的交叉技術(shù)領(lǐng)域。
背景技術(shù)
實(shí)時(shí)嵌入式系統(tǒng)應(yīng)用的開發(fā)常常涉及多個(gè)學(xué)科,如電子工程、機(jī)械工程和軟件工程等。盡管在嵌入式系統(tǒng)中這些學(xué)科是緊密結(jié)合的,它們的開發(fā)卻常常是串行過程。一般是首先設(shè)計(jì)機(jī)械部分,然后硬件設(shè)施被固定下來,最后開發(fā)嵌入式軟件。這個(gè)方法會(huì)導(dǎo)致很多問題,尤其對于軟件工程人員。例如,傳感器的位置的選擇、速率控制、延遲控制、硬件等,這些對于軟件的復(fù)雜度有很大影響。而且,有很多隱含的假設(shè)條件在系統(tǒng)集成時(shí)候才會(huì)首次顯現(xiàn),這樣會(huì)導(dǎo)致找不到最佳的方案。
UML(統(tǒng)一建模語言,Unified?Modeling?Language)是最為風(fēng)行的建模語言,軟件工程領(lǐng)域經(jīng)常使用基于UML的模型驅(qū)動(dòng)開發(fā)來盡早發(fā)現(xiàn)問題。Simulink是國際上十分流行的動(dòng)態(tài)系統(tǒng)建模仿真工具,可以應(yīng)用于涉及工程和數(shù)學(xué)的許多領(lǐng)域,其強(qiáng)大的圖形建模功能極大地提高了仿真應(yīng)用的開發(fā)效率。
Simulink?Coder可以將Simulink模型轉(zhuǎn)換為C/C++代碼,并支持多種目標(biāo)環(huán)境:當(dāng)前主機(jī)、實(shí)時(shí)仿真器、嵌入式處理器,目標(biāo)環(huán)境可以是單核或多核,可以是獨(dú)立計(jì)算機(jī)也可以作為網(wǎng)絡(luò)通信的一部分。
發(fā)明內(nèi)容
技術(shù)問題:在實(shí)時(shí)系統(tǒng)中違反時(shí)間約束或者頻繁地違反它們會(huì)導(dǎo)致嚴(yán)重的錯(cuò)誤,進(jìn)而會(huì)對人類的生活或者環(huán)境產(chǎn)生威脅。為了在早期有效地對嵌入式實(shí)時(shí)系統(tǒng)進(jìn)行測試,急需一種對時(shí)間進(jìn)行自動(dòng)測試的策略。UML和Simulink表示一個(gè)產(chǎn)品的不同的視圖,其中UML用于描述軟件結(jié)構(gòu)和行為,而Simulink用來獲取系統(tǒng)行為的不同方面。現(xiàn)有的方法不能支持UML的類圖、序列圖模型與Simulink的模型進(jìn)行通信并檢測違反實(shí)時(shí)約束的錯(cuò)誤,本發(fā)明的目的是解決上述問題,提供一種自動(dòng)化的跨模型的實(shí)時(shí)嵌入式系統(tǒng)的仿真方法,以打破不同學(xué)科間的傳統(tǒng)的串行開發(fā)方法,使在設(shè)計(jì)階段便可以在一定程度上檢測系統(tǒng)的可行性以及時(shí)間約束。
技術(shù)方案:本發(fā)明首先讀取并解析基于XMI格式保存的、待仿真的實(shí)時(shí)嵌入式系統(tǒng)的UML模型,將它們轉(zhuǎn)換為C++代碼;然后使用工具將待仿真的實(shí)時(shí)嵌入式系統(tǒng)的Simulink模塊轉(zhuǎn)換為C++代碼并加入時(shí)鐘中斷;最后再將上述C++代碼自動(dòng)融合進(jìn)行仿真,給出仿真結(jié)果。
本發(fā)明提出的一種實(shí)時(shí)嵌入式系統(tǒng)的仿真方法包括以下步驟:
步驟1)從磁盤文件讀入基于XMI格式保存的UML模型。
所述UML模型包括UML類圖模型、UML序列圖模型;所述UML類圖模型是描述系統(tǒng)中的類以及它們之間的關(guān)系的模型;UML類圖模型包括以下UML標(biāo)準(zhǔn)組成部分:包元素、類元素、接口元素、數(shù)據(jù)類型元素、基本數(shù)據(jù)類型元素、枚舉元素、信號元素、注釋元素,上述元素是UML類圖模型轉(zhuǎn)換為C++代碼的最大單位;所述UML序列圖模型是通過描述對象之間消息的發(fā)送和接收順序以顯示多個(gè)對象之間動(dòng)態(tài)協(xié)作的模型;UML序列圖模型包括以下UML標(biāo)準(zhǔn)組成部分:交互元素,該元素是UML序列圖模型轉(zhuǎn)換為C++代碼的最大單位;所述XMI是使用XML交換元數(shù)據(jù)信息的一種面向?qū)ο蠼M織OMG標(biāo)準(zhǔn)語言;所述XML是是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的可擴(kuò)展標(biāo)記語言。
步驟2)將UML模型中的元素劃分到類圖元素集合和序列圖元素集合中。
步驟21)獲取UML模型包含的所有元素。
步驟22)若是包元素、類元素、接口元素、數(shù)據(jù)類型元素、基本數(shù)據(jù)類型元素、枚舉元素、信號元素、注釋元素,則將其加入類圖元素集合。
步驟23)若是交互元素,則加入序列圖元素集合。
步驟3)將待仿真的實(shí)時(shí)嵌入式系統(tǒng)的UML類圖模型轉(zhuǎn)換為C++代碼。
步驟31)當(dāng)類圖元素集合中還存在未轉(zhuǎn)換的類圖元素時(shí),讀取一個(gè)未轉(zhuǎn)換的類圖元素;否則轉(zhuǎn)步驟4)。
步驟32)若當(dāng)前類圖元素是包元素,則生成一個(gè).h文件,在其中聲明一個(gè)命名空間,.h文件名和命名空間名均為該元素名稱。
步驟33)若當(dāng)前類圖元素是類元素,則生成一個(gè).h文件和一個(gè).cpp文件,將該元素轉(zhuǎn)換為C++中的一個(gè)類,轉(zhuǎn)步驟310)。
步驟34)若當(dāng)前類圖元素是接口元素,則生成一個(gè).h文件和一個(gè).cpp文件,將該元素轉(zhuǎn)換為C++中的一個(gè)公開方法均是純虛函數(shù)的抽象類,轉(zhuǎn)步驟310)。
步驟35)若當(dāng)前類圖元素是數(shù)據(jù)類型元素,則生成一個(gè).h文件和一個(gè).cpp文件,將該元素轉(zhuǎn)換為C++中的一個(gè)類,轉(zhuǎn)步驟310)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410122430.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 實(shí)時(shí)解碼系統(tǒng)與實(shí)時(shí)解碼方法
- 實(shí)時(shí)穩(wěn)定
- 實(shí)時(shí)監(jiān)控裝置、實(shí)時(shí)監(jiān)控系統(tǒng)以及實(shí)時(shí)監(jiān)控方法
- 實(shí)時(shí)或準(zhǔn)實(shí)時(shí)流傳輸
- 實(shí)時(shí)或準(zhǔn)實(shí)時(shí)流傳輸
- 實(shí)時(shí)通信方法和實(shí)時(shí)通信系統(tǒng)
- 實(shí)時(shí)更新
- 實(shí)時(shí)內(nèi)核
- 用于通信網(wǎng)絡(luò)的網(wǎng)絡(luò)設(shè)備及相關(guān)方法
- 實(shí)時(shí)量化方法及實(shí)時(shí)量化系統(tǒng)





