999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種SysML模型到AADL模型的自動轉換方法*

2020-03-26 10:56:02馬燕燕楊志斌江國華
計算機工程與科學 2020年3期
關鍵詞:活動模型系統

馬燕燕,楊志斌,2,江國華

(1.南京航空航天大學計算機科學與技術學院,江蘇 南京 211106; 2.高安全系統的軟件開發與驗證技術工信部重點實驗室,江蘇 南京 211106)

1 引言

安全關鍵系統(Safety-Critical System)是其故障可能導致生命損失、重大財產損失或環境破壞的系統,廣泛應用于航空、航天、交通和能源等領域。隨著安全關鍵系統規模和復雜性不斷提高,這類系統出現錯誤的可能性及其造成的危害也日益突出。2019年3月10號,埃及航空的一架波音737MAX8客機在從埃塞俄比亞首都飛往肯尼亞首都內羅畢途中失事,機上157名乘客無人生還。失事的主要原因是由于高迎角傳感器將錯誤的數據輸入給飛行控制系統,從而引起錯誤的機頭降低指令,使得駕駛員難以判斷和控制飛行狀態造成的。

安全關鍵系統的實現需要通過需求、設計、集成、驗證和測試等多個階段。設計階段首先進行系統設計,然后區分軟硬件,進行軟件和硬件協同設計。近年來,模型驅動(Model-Driven)尤其是采用形式化模型驅動的安全關鍵系統設計與開發方法逐漸受到重視,并被工業界認為是保障系統安全性與可靠性切實可行的重要手段。基于模型的系統工程(Model-Based Systems Engineering)支持從概念設計階段開始并在整個開發生命周期階段中持續進行的系統需求、設計、分析、驗證和確認活動。側重于利用領域模型作為工程師之間信息交換的載體,而不是基于文檔的信息交換[1]。

安全關鍵領域常用的建模語言有UML(Unified Modeling Language)、SysML (Systems Modeling Language)[2]、航空電子系統描述語言MetaH和HOOD(Hierarchical Object Oriented Design)、汽車電子系統描述語言EAST-ADL(Electronics Architecture and Software Technology-Architecture Description Language)、嵌入式實時系統體系結構分析與設計語言AADL(Architecture Analysis & Design Language)[3]等。然而,目前還沒有一個標準的建模語言支持安全關鍵系統的整個開發生命周期。因此,考慮集成使用適合于系統設計階段建模的SysML和適合于軟硬件協同建模的AADL。SysML適合于進行需求捕獲、分析和初步系統設計,而AADL適合于詳細設計階段,區分軟硬件,可采用仿真和形式化方法進行模型的驗證與分析。

目前,SysML和AADL的集成使用已經成為一個研究熱點。例如,挪威奧斯陸大學Simula研究所[4,5]提出了ExSAM概要文件(Profile)的概念,它通過向SysML添加AADL概念來擴展SysML,能夠對系統工程概念建模,并在需要時使用AADL分析工具。圖盧茲大學的de Saqui-Sannes等人[6]提出了一種基于模型的安全關鍵嵌入式系統設計、驗證和實現方法,將標準化的SysML和AADL結合在一起,用于系統級建模、需求捕獲、用例和場景分析、體系結構描述,并使用SysML和AADL對飛行管理系統進行無縫建模、驗證和實現。進一步地,Wang等人[7]提出在整個模型驅動工程中集成使用SysML、AADL和FACE (Future Airborne Capability Environment);在工業界,ANSYS公司提供SCADE System用于SysML系統模型設計,提供SCADE Suite用于軟件設計,SCADE System和SCADE Suite可進行無縫對接。在SCADE System中定義的模塊接口能自動轉換到SCADE Suite中的接口,并且在兩者中保持同步[8]。

在這些已有研究中,挪威奧斯陸大學Simula研究所[4,5]將AADL核心元素擴展到SysML中用以區分軟硬件,但是無法與AADL分析工具無縫對接,分析時仍需手工完成SysML模型到AADL模型的轉換。圖盧茲大學的de Saqui-Sannes等人[6]提出將SysML狀態機圖轉換為AADL行為附件,狀態機圖較難描述輸入通過一系列動作轉換為輸出的過程。另外,SCADE只支持System的BDD(Block Definition Diagram)、IDB(Internal Block Diagram)向AADL模型的轉換。

本文提出一種SysML模型到AADL模型的自動轉換方法。首先定義SysML子集SubSysML,SubSysML包括BDD、IBD、ACT子集以及在IBD和BDD上擴展的AADL Profile;其次提出SubSysML模型向AADL模型轉換的具體規則,并且設計基于Eclipse的模型轉換工具SubSysML2AADL,實現SubSysML向AADL模型自動轉換,通過模型來自動傳遞設計信息;由于SysML和AADL在不同的抽象層次進行建模,因此在獲得AADL初始模型之后,通過求精的方式將一些設計細節增加到AADL模型中;最后通過工業界案例雷達信息處理系統驗證本文方法的有效性。

本文第2節介紹SysML語言和AADL語言;第3節介紹SysML模型到AADL模型的轉換方法總體研究框架;第4節定義SysML子集SubSysML;第5節描述SubSysML到AADL的轉換方法;第6節介紹SubSysML到AADL的模型轉換工具實現;第7節以典型工業應用案例說明本文方法的有效性;第8節對國內外的相關研究工作進行相應概述;第9節對研究工作進行總結和展望。

2 研究背景

本節主要介紹SysML和AADL的基本建模概念。

2.1 SysML基本建模概念

國際系統工程學會INCOSE(International Council on Systems Engineering)和對象管理組織 OMG(Object Management Group) 在對 UML2.0 的子集進行重用和擴展的基礎上,提出一種新的系統建模語言——SysML,作為系統工程的標準建模語言[9]。SysML是一種通用的圖形建模語言,旨在幫助指定和構建系統,并指定可以使用其他特定于領域的語言設計的組件。SysML中定義了9個圖來描述系統。

(1)描述需求。

需求圖用于表示基于文字的基本需求、需求之間的關系以及滿足、驗證和改善它們的其他模型元素。

(2)描述結構。

①模塊定義圖BDD表示模塊和值類型之類的元素。

②內部模塊圖IBD用于指定單個模塊的內部結構。

③參數圖用于表示1種或多種約束如何與系統的屬性綁定。

④包圖用于顯示模型以包相互包含的層級關系形式組織的方式。

(3)描述行為。

①用例圖從系統參與者的角度表達系統執行的用例,是一種黑盒視圖。

②活動圖ACT(Activity Diagram)用于指定一種行為,主要關注控制流程,以及輸入通過一系列動作轉換為輸出的過程。

③序列圖用于指定一種行為,主要關注模塊的組成部分如何通過操作調用和異步信號交互。

④狀態機圖用于指定一種行為,主要關注模塊的一系列狀態,以及響應事件時狀態之間的轉換。

關于 SysML 的擴展機制,官方主要提供了如下3個途徑[2]:基于 UML構造型(Stereotypes)、基于 UML
圖元擴展(Diagram extensions)和基于模型庫(Model libraries)。SysML 構造型機制通過用新的屬性和約束來擴展現有的 UML2.0構造型,從而定義新的建模元素;SysML
圖元擴展通過定義新的圖元符號,用于補充從 UML2.0中重用的圖元符號;SysML 模型庫則用于描述可供重用的專用模型元素。

2.2 AADL基本建模概念

2004 年,美國汽車工程師協會SAE (Society of Automotive Engineers)在MetaH、UML等建模語言的基礎上,提出了嵌入式實時系統體系結構分析與設計語言AADL[3],目的是提供一種標準而又足夠精確的方式,設計與分析嵌入式實時系統的軟、硬件體系結構及功能與非功能性質,采用單一模型支持多種分析的方式,將系統設計、分析、驗證、自動代碼生成等關鍵環節融合于統一框架之下[10]。AADL的這些特性使其具有廣闊的應用前景,得到了以航空航天領域(如空客、波音、霍尼韋爾等)為首的歐美工業界的支持,此外學術界也對AADL展開了深入的研究和擴展,其中,美國卡耐基·梅隆大學開發的開源AADL集成開發環境OSATE(Open Source AAOL Tool Environment)已被廣泛使用。

安全關鍵系統是應用軟件、運行時環境以及硬件平臺深度融合的復雜系統,AADL語言與之對應地提供了軟件體系結構、運行時環境以及硬件體系結構的建模概念[10]。AADL 提供了一組預定義的構件類別:

(1)軟件構件:包括線程、線程組、子程序、數據和進程。

(2)執行平臺構件:包括處理器、內存、總線和外設。

(3)系統構件:用系統表示軟件和執行平臺的組合集。

為了支持組件內部的控制流建模,法國圖盧茲計算機與信息研究所IRIT(Institute de Recherche en Informatique de Toulouse)[11]實驗室于 2006 年提出了 AADL 行為附件BA(Behavior Annex)。行為附件以變遷系統(Transition System)的形式增強了 AADL 線程構件和子程序構件功能行為的詳細描述能力。行為附件與執行模型有密切的關系:執行模型定義行為附件何時執行、哪些數據被改變,而行為附件處于構件內部,對線程、子程序構件的執行給予更精確的描述。行為附件是執行模型調度機制的擴展,用于更精確地描述模型行為,例如端口通信、子程序調用、時序、異步等。完整的 AADL 模型應該包括執行模型和行為附件。

行為附件主要包括3部分:變量、狀態和轉換。變量部分聲明當前行為附件中使用的所有局部變量。局部變量可以用來保存當前行為附件范圍內的中間結果。狀態部分枚舉狀態機的所有狀態及其屬性(initial,complete,final或它們的組合)。默認狀態是一個執行狀態。轉換定義了從源狀態到目標狀態的轉換,轉換可以有條件和動作。

3 SysML模型到AADL模型的轉換方法研究框架

SysML模型到AADL模型的轉換方法總體框架如圖1所示,整個過程分為3個部分:

(1)定義SysML子集SubSysML,包括IBD子集、BDD子集、從IBD和BDD擴展的AADL Profile,以及ACT的子集。

(2)定義SubSysML到AADL轉換規則以及具體的轉換算法,生成AADL初始設計模型。

(3)對第(2)步生成的AADL初始設計模型使用同步語言Signal進行精化。針對不同應用,對AADL初始設計模型可以使用BA、Signal、SDL(Specification and Description Language)進行功能行為求精設計。BA是AADL的標準擴展,支持以自動機的方式表達控制流形式的功能行為;而同步語言Signal則是基于數據等式的方式表達(同步)數據流形式的功能行為,例如用數學公式所表達的應用功能往往可以通過同步語言來建模;SDL則是一種接近常用C程序的數據流和控制流表達語言,其語義為異步執行,接近我們常用的執行程序。本文主要使用Signal對功能設計進行精化。

Figure 1 Framework of model transformation from SysML to AADL圖1 SysML到AADL的模型轉換方法研究框架

4 SysML子集SubSysML

SubSysML包括BDD子集SubBDD、IBD子集SubIBD、對BDD中的Block和IBD中的FlowPort擴展得到的AADL Profile,以及ACT子集SubACT。其定義如下:

定義1SubSysML = 〈SubBDD,SubIBD,SubACT,AADL Profile〉,其中:

SubBDD ={Block,Realization},Block為SysML結構中的基本單元,可以使用模塊為系統中或者系統外部環境中任意一種實體類型創建模型,Realization為系統聲明的Block和系統實現的Block之間的實現關系。

SubIBD={Block,Part,FlowPort,Connector},Block為SysML結構中的基本單元;Part為Block的組成部分;FlowPort為端口,代表結構邊緣不同交互點的一種屬性;Connector為2個Part之間的連接器。

AADL Profile={system,data,eventPort,dataPort,eventDataPort,dataAccess},system表示該Block 表示一個系統,data表示該Blcok為數據組件,eventPort表示該FlowPort為事件端口,dataPort表示該FlowPort為數據端口,eventData-Port表示該FlowPort為事件數據端口,dataAccess表示數據組件上的端口。

SubACT={ActivityNode,ActivityEdge,Variable},ActivityNode為活動圖的節點,ActivityEdge為活動圖的邊,Variable為活動圖中需要使用的局部變量。

AADL Profile是對SysML描述能力的補充。本文使用構造型的方式擴展SysML。AADL Profile如圖2所示。首先定義擴展自SysML Block 構造型的2個新的構造型 system 和data,用于區分Block代表的是系統還是數據組件,SysML Block 擴展自UML的類,并被選擇為組件建模,在使用時添加system構造型表示該Block表示為系統,添加data構造型自定義復雜數據類型。其次定義新的構造型dataPort、eventDataPort和eventPort分別表示數據端口、事件數據端口和事件端口,dataAccess擴展自SysML FlowPort構造型,表示數據組件上的端口。

圖3所示為SysML活動圖子集SubACT元模型,包括活動節點(ActicityNode)和活動邊(ActivityEdge)2個部分,定義如下:

定義2ActicityNode = 〈ExecutableNode,ControlNode,ObjectNode〉,其中:

ExecutableNode={SendSignalAction,AcceptEventAction,CallBehaviorAction},SendSignalAction為發送信號動作,AcceptEventAction為接收事件動作,CallBehaviorAction為調用行為動作,在啟動時觸發另一種行為。

Figure 2 AADL profile圖2 AADL 概要文件

Figure 3 Meta model of SubACT圖3 SubACT元模型

ControlNode={InitialNode,DecisionNode,MergeNode,ForkNode,JoinNode,FinalNode},InitialNode為初始節點,標記活動的起點;DecisionNode為決定節點,標記活動中可替換序列的開始;MergeNode為合并節點,標記活動中可選序列的結尾;ForkNode為分支節點,標記活動中并發序列的開始;JoinNode為集合節點,標記活動中并發序列的結束;FinalNode為終止節點,標記控制流的結束。

ObjectNode={InputPin,OutputPin},其中InputPin表示動作的輸入數據,OutputPin表示動作的輸出數據。

定義3AcitivityEdge = 〈ObjectFlow,ControlFlow〉,其中ObjectFlow為對象流,表示事件,數據的實例通過活動從一個節點向另一個節點流動;ControlFlow為控制流,表示可以傳遞控制令牌的邊,控制令牌的到達可以啟動等待它的動作。

5 SubSysML到AADL模型自動轉換方法

從SysML模型到AADL模型的自動轉換主要包括2部分:

(1)系統基本結構的轉換。系統的基本結構即SubIBD、SubBDD中的元素,以及擴展的AADL Profile,將其對應轉換為AADL體系結構模型。例如Block對應轉換為Component構件,根據Stereotype的不同,system Stereotype對應轉換為system構件,data Stereotype對應轉換為data構件。

(2)系統行為的轉換。系統行為涉及到的元素主要為SubACT中的元素。活動圖對應轉換為AADL 模型的行為附件。一個system Stereotype的活動圖對應拆分為該system Stereotype對應的system構件的subComponent的行為附件。

系統基本結構的轉換規則如下所示:

(1) Rule1:SysML模型中的Package元素轉換為AADL模型的Package構件。

(2) Rule2:SysML模型中的模塊定義圖中使用system Stereotype的Block元素轉換為AADL的system構件。若2個Block之間存在Realization關系,則supplier端的Block轉換為system Type構件,client端的Block轉換為system Implementation 構件。若同時使用data構造型,則對應轉換為AADL的數據構件。

(3) Rule3:SysML模型中Block的內部模塊圖Part 元素轉換為對應AADL模型中system的subComponent構件。

(4) Rule4:SysML模型中Block的內部模塊圖Connector元素轉換為AADL模型 的connection構件。

(5) Rule5:SysML模型中Block的內部模塊圖Port元素轉換為AADL模型中feature的port。Port元素若同時使用dataPort 構造型,則轉換為 dataPort端口;若同時使用dataEventPort 構造型,則轉換為 dataEventPort端口;若同時使用eventPort 構造型,則轉換為 eventPort端口。

系統行為的轉換規則如下所示:

(1) Rule1:SysML模型中Block的活動圖轉換為AADL模型對應的system構件的子組件的行為附件。

(2) Rule2:活動圖中一個InitialNode轉換為對應AADL模型中行為附件中的initialstate。

(3) Rule3:活動圖中的action轉換為AADL模型對應行為附件中的transition語句中的behavior_action_block。其中SendSignalAction轉換為行為附件的Transition中的發送語句port!(var)。AcceptEventAction轉換為行為附件的condition中的on dispatch port。并且為接受事件對應的狀態添加complete標識。CallBehaviorAction轉換為子程序調用。活動圖中的元素通過分配表明確活動節點的動作和Block的分配關系。

(4) Rule4:活動圖中的局部變量轉換為AADL模型對應行為附件中的variables。

(5) Rule5:活動圖中的ActivityEdge轉換為AADL模型對應行為附件中的state。

(6) Rule6:活動圖中的DecisionNode中的guard轉換為AADL模型對應行為附件中transition中的behavior_ condition。

(7) Rule7:活動圖中的FinalNode轉換為AADL模型對應行為附件中的FinalState。

基于SubSysML和AADL元模型,本文給出SubSysML到AADL的轉換算法,如算法1所示。

Algorithm1Transformation from SysML to AADL

Input:SysML_ModelS。

Output:AADL_ModelM。

01:for each BlockbinS.getBlocksdo

02: ifb.isSystemthen

03:M.add(new Systemn);

04: else ifb.isDatathen

05:M.add(new Datan);

06: else

07:M.add(new Abstractn);

08: end if

09:M.addInstance(n.newInstance);

10:b.getPorts→n.features;

11:b.Parts→n.instance.subcomponents;

12:b.Connector→n.instance.connections;

13:b.Activity→n.instance.subcomponents.BA;

14: for each Elementeinb.Activitydo

15: ife.isVariablethen

16:BA.add(new Variablev);

17: else ife.isInitialStatethen

18:BA.add(new InitialStates);

19: else ife.isActivityEdgesthen

20:BA.add(new States);

21: else ife.isActionthen

22:BA.add(new Transition.behavior_

23: action_blocka);

24: else ife.isDecisionNodethen

25:BA.add(new Transition. Behavior

26: _conditiong);

27: elsee.isFinalNodethen

28:BA.add(new FinalStatef);

29: end if

30: end for

31:end for

Figure 4 Framework of SubSysML2AADL tool圖4 SubSysML2AADL工具框架

6 SubSysML2AADL工具實現

本文在已經集成OSATE和Papyrus插件的Eclipse平臺上進行SubSysML2AADL工具的開發。Papyrus是一個工業級的基于開源模型的工程工具。Papyrus為SysML提供了完整的支持,以支持基于模型的系統工程。還提供了SysML所需的特定表格和圖形編輯器。OSATE用于AADL建模、編譯和分析,以及進行可調度性分析和安全性分析和時間延遲分析等。SubSysML2AADL是基于EMF(Eclipse Modeling Framework)框架實現的。EMF是一個建模框架和代碼生成工具,用于構建基于結構化數據模型的工具和其他應用程序。使用EMF設計滿足SubSysML語法的Ecore元模型,為模型生成1組Java類,進而通過編寫轉換規則實現向AADL的轉換。SubSysML2AADL工具框架如圖4所示。

首先分析存儲SysML模型的XML文件,定義1個EMF元模型,用于描述XML文件的元結構,所述EMF元模型可自動生成框架代碼,復用該框架代碼可生成SysML模型解析器并通過EMF提供的API讀取XML文件的信息,生成EMF對象。其次根據制定的SubSysML到AADL的關系對應,對從SysML模型中讀取的EMF對象,使用OSATE提供的API生成對應的AADL對象。最后使用AADL和EMF對象之間的映射以及EMF對象之間的關系來填充AADL對象之間的鏈接,完成AADL初始設計模型的生成。

7 工業界案例分析

7.1 雷達信息處理系統簡介

雷達信息處理系統主要應用于空中監視、空間和導彈監視、表面搜索和戰場監視、跟蹤和制導、氣象雷達、天文和大地測量。雷達是利用目標對電磁波反射現象來發現目標并測定其位置的。雷達信息處理系統一般由天線、前端處理和后端處理3部分組成。前端主要做A/D采樣、下變頻和脈沖壓縮,后端主要做成像和匹配定位。其中后端主要包括成像模塊和匹配模塊2部分,成像模塊由2個DSP和1個FPGA構成,匹配模塊由2個DSP和2個FPGA構成。雷達信息處理系統的抽象結構如圖5所示。

Figure 5 Framework of radar information processing system圖5 雷達信息處理系統抽象框架圖

Figure 6 BDD of radar information processing system圖6 雷達信息處理系統的BDD

7.2 基于SubSysML的系統建模

使用Papyrus對雷達信息處理系統進行建模,建立BDD描述雷達信息處理系統功能模塊之間的組成關系,建立IBD對BDD的內容做補充,描述單個模塊內部組成部分之間的數據連接。成像和匹配是雷達最重要的2個功能模塊,本文選擇成像模塊建立活動圖描述成像的執行過程。表1所示為該雷達模型的數據統計。圖6所示為雷達信息處理系統的BDD。

Table 1 Statistical data of SysML model of radar information processing system表1 雷達信息處理系統的SysML模型數據統計

圖7所示為成像模塊Main DSP活動圖,當Main DSP收到開始掃描指令后,解析指令,獲得指定的高度Height,然后判斷高度,根據高度的不同取值進入不同的模式。當1

Figure 7 Activity of Main DSP of the imaging module圖7 成像模塊Main DSP活動圖

7.3 AADL模型的生成

完成雷達信息處理系統的SysML建模后,通過SubSysML2AADL工具,可以將SysML模型轉換成AADL初始設計模型。模塊定義圖和內部模塊圖表示的系統結構自動轉換為AADL體系結構模型,活動圖表示的系統行為自動轉換為AADL模型中對應構件的行為附件。圖8所示為生成的Main DSP模塊的AADL模型圖形化表示。由圖7的SysML活動圖生成的AADL行為附件如下所示:

annexbehavior_specification{**

variables

startScanOrder_variable:

Data_Types::startScanOrder.Impl;

DetectHeightPulseData_variable:

Data_Types::DetectHeightPulseData.Impl;

PrtInterrupt_variable:

Data_Types::PrtInterrupt.Impl;

DetectHeightRelevantParameter_variable:

Data_Types::

DetectHeightRelevantParameter.Impl;

pluseWidthAndBandWidth_variable:

Data_Types::pluseWidthAndBandWidth.Impl;

states

s0:initial state;

s1:complete state;

s2:state;

s3:state;

s4:state;

s5:state;

s6:state;

transitions

t0:s0-[]→s1{count0:=0;count1:=0;

num1:=7;num2:=4};

t1:s1-[on dispatchstartScanOrder]→s2{

startScanOrder?(startScanOrder_variable);

t2:s2-[]→s3{calculatedAltitude!};

t3:s3-[(2

and(startScanOrder_variable.height<3)]

→s4{calculatingParameter!};

t4:s4-[]→s5{pluseWidthAndBandWidth!

(pluseWidthAndBandWidth_variable)};

t5:s5-[]→s6{calculatingfilterCoefficient!};

SysML主要關注系統級建模,在對雷達信息處理系統進行系統級建模時,對于計算過程,在活動圖中使用CallBehaviorAction元素來描述,通過CallBehaviorAction的name表達計算的含義,沒有對具體的計算過程進行建模,所以對應生成的AADL模型中的子程序都是空的。以子程序calculatingParameter為例,本文介紹同步語言的人工求精過程。calculatingParameter子程序主要完成多普勒中心估計的計算過程,在進行雙側扇掃前,由于不同方向的回波具有不同的多普勒值,需要估計多普勒中心。使用同步語言估計多普勒中心過程如下所示:

Figure 8 AADL model of Main DSP module圖8 Main DSP模塊的AADL模型

01: processDoppeParameterEstimation:=

02: (! realnrn,nan;

03: ? realf′

04: )

05: (|R11:=F11(nrn,nan)

06: |…

07: |R14:=F14 (nrn,nan)

08: |K1:=F21(R11)

09: |…

10: |K4:=F24(R14)

11: |K′:=F3(K1,…,K4)

12: |f:=F4(K′)

13: |)

14: where

15: realR11,R12,R13,R14,K1,…,K4,K′;

16: end

其中,第2~4行輸入輸出信息,第5~7行計算4個符號相關參數,第8~10行導出相應的相關系數,第11行導出復數相關系數,第12行將幅角轉變為多普勒中心頻率。在calculatingParameter子程序中調用該同步語言過程來估計多普勒中心。

8 相關工作

在SysML的建模和擴展方面,挪威奧斯陸大學Simula研究所Behjati等人[4,5]提出了ExSAM(Extended SysML for Architecture Analysis Modeling)概要文件,它通過向SysML添加AADL概念來擴展SysML,能夠對系統工程概念建模,并在需要時使用AADL分析工具。但是,使用AADL的分析工具的前提是手工將ExSAM的建模片段轉換為AADL模型。Ribeiro等人[12]探討了UML、SysML和實時及嵌入式系統建模與分析語言MARTE(Modeling and Analysis of Real Time and Embedded system)在RTS的軟硬件需求建模中的結合使用,表明僅SysML無法精確表達時間和性能方面的需求。由于SysML 可以通過建立不同的模型,從多個角度反映整個系統的結構特征,褚長勇等人[1]提出SysML需求圖到用例圖、用例圖到序列圖的轉換,從而提高了建模效率。李路野等人[13]以雷達信號處理系統為研究背景,提出了一種模型驅動的軟件開發流程,使用SysML建模并自動生成C代碼框架。

在SysML和AADL的集成使用研究方面,圖盧茲大學的de Saqui-Sannes等人[6]提出了一種基于模型的安全關鍵嵌入式系統設計、驗證和實現方法,將標準化的SysML(包括AVATAR實時概要文件)和AADL結合在一起,用于系統級建模、需求捕獲、用例和場景分析、體系結構描述,并使用SysML和AADL對飛行管理系統進行無縫建模、驗證和實現。Wang等人[7]研究了在基于多模型驅動工程中,如何有效集成使用SysML、AADL和FACE,從而涵蓋從早期的需求捕獲到最終的系統和嵌入式軟件的生成。萬小平等人[14]研究了基于XML的UML向AADL的模型轉換,使用戶在設計階段能夠結合運用AADL和UML工具的優點對系統進行分析。本文關注SysML,是因為SysML可通過可跟蹤需求和通用的Block等特性支持系統工程。鄧佳佳等人[15]提出了一種SysML & AADL 的航電剎車控制系統實時性需求驗證方法,基于 SysML 建模語言建立系統模型,并在狀態機圖上添加用MARTE 描述的組件時間延遲,將SysML 模型轉化為符合 AADL 語義的模型。最后利用 AADL 分析工具得到實時性驗證結果。

9 結束語

本文提出一種SysML模型到AADL模型的自動轉換方法。首先定義SysML子集SubSysML;然后定義SubSysML到AADL的轉換規則及轉換算法,使用EMF框架技術實現SubSysML模型到AADL模型的自動轉換,對生成的AADL初始設計模型使用同步語言進行精化;最后以雷達信息處理系統為案例驗證了本文方法的有效性。

在SysML模型轉換為AADL模型的過程中,如果目標模型與源模型語義不一致,即使源模型能夠滿足系統設計要求,也無法保證轉換后的目標模型也滿足相應的性質,出現了語義保持(Semantics Preservation)問題。語義保持問題是模型轉換過程中的重要研究內容,其證明大致可以在2個層次展開:模型實例層次(Instance-based)和語言層次(Language-based)。前者針對具體的模型實例,每次轉換都需要重新證明,通用性不夠;后者針對源語言和對象語言的所有語法結構及語義,只需證明1次就可以推廣到任意模型實例,但證明難度較大。未來,計劃研究基于時間變遷系統的互模擬等價(Bi-simulation)、單向模擬(Simulation)等價的基本方法,并基于定理證明器Coq對模型轉換的語義一致性保持進行證明。

猜你喜歡
活動模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
三八節,省婦聯推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
主站蜘蛛池模板: 伊人久久精品无码麻豆精品| 538国产在线| 亚洲欧美不卡中文字幕| 国产第一页亚洲| 国产成人一区在线播放| 欧美三級片黃色三級片黃色1| 中文字幕乱妇无码AV在线| 午夜免费视频网站| 欧美一区二区精品久久久| 色悠久久久| 国产白浆视频| 成人中文在线| 国产免费网址| 亚洲精品无码专区在线观看 | 国产午夜精品鲁丝片| 亚洲AV无码乱码在线观看裸奔| 狠狠躁天天躁夜夜躁婷婷| 国产女人在线| 狠狠色噜噜狠狠狠狠色综合久| 国产免费羞羞视频| 中国一级特黄视频| 日本爱爱精品一区二区| 国产成人欧美| 福利一区三区| 国产a v无码专区亚洲av| 午夜欧美在线| 91精品日韩人妻无码久久| 91国内在线视频| 亚洲人成影视在线观看| 国产精品大尺度尺度视频| 亚洲午夜国产片在线观看| 日本欧美成人免费| www亚洲精品| 国产毛片基地| 国产91丝袜在线播放动漫 | 成人亚洲国产| 夜夜拍夜夜爽| 国产欧美精品一区二区| 亚洲Av激情网五月天| 国产成人高精品免费视频| 久久精品中文字幕少妇| 女人18毛片水真多国产| 亚洲综合色区在线播放2019| A级毛片无码久久精品免费| 国产香蕉国产精品偷在线观看| 亚欧成人无码AV在线播放| 亚洲成人www| 天天操精品| 国产人成乱码视频免费观看| 日本草草视频在线观看| 香蕉视频在线观看www| 国产人妖视频一区在线观看| 国产乱子伦视频在线播放| 色九九视频| 亚洲AV无码一二区三区在线播放| 欧洲高清无码在线| 国产男人天堂| 亚洲精品视频免费| 欧美中出一区二区| 亚洲视频免费播放| 在线观看国产黄色| 热思思久久免费视频| 日本爱爱精品一区二区| 免费jizz在线播放| 国产成人AV大片大片在线播放 | 国产JIZzJIzz视频全部免费| 成人国产精品一级毛片天堂| 一级毛片不卡片免费观看| 久久久久亚洲AV成人人电影软件| 91久久天天躁狠狠躁夜夜| 91无码人妻精品一区| 亚洲无码视频喷水| 狼友av永久网站免费观看| 久久人人97超碰人人澡爱香蕉 | 亚洲成A人V欧美综合| 国产亚洲欧美日韩在线一区二区三区| 2020国产免费久久精品99| 日韩精品少妇无码受不了| 精品超清无码视频在线观看| 一本久道热中字伊人| 亚洲人人视频| 午夜限制老子影院888|