亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

        1 引言

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

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

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

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

        在這些已有研究中,挪威奧斯陸大學Simula研究所[4,5]將AADL核心元素擴展到SysML中用以區(qū)分軟硬件,但是無法與AADL分析工具無縫對接,分析時仍需手工完成SysML模型到AADL模型的轉換。圖盧茲大學的de Saqui-Sannes等人[6]提出將SysML狀態(tài)機圖轉換為AADL行為附件,狀態(tài)機圖較難描述輸入通過一系列動作轉換為輸出的過程。另外,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模型轉換的具體規(guī)則,并且設計基于Eclipse的模型轉換工具SubSysML2AADL,實現(xiàn)SubSysML向AADL模型自動轉換,通過模型來自動傳遞設計信息;由于SysML和AADL在不同的抽象層次進行建模,因此在獲得AADL初始模型之后,通過求精的方式將一些設計細節(jié)增加到AADL模型中;最后通過工業(yè)界案例雷達信息處理系統(tǒng)驗證本文方法的有效性。

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

        2 研究背景

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

        2.1 SysML基本建模概念

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

        (1)描述需求。

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

        (2)描述結構。

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

        ②內(nèi)部模塊圖IBD用于指定單個模塊的內(nèi)部結構。

        ③參數(shù)圖用于表示1種或多種約束如何與系統(tǒng)的屬性綁定。

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

        (3)描述行為。

        ①用例圖從系統(tǒng)參與者的角度表達系統(tǒng)執(zhí)行的用例,是一種黑盒視圖。

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

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

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

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

        2.2 AADL基本建模概念

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

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

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

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

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

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

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

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

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

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

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

        (3)對第(2)步生成的AADL初始設計模型使用同步語言Signal進行精化。針對不同應用,對AADL初始設計模型可以使用BA、Signal、SDL(Specification and Description Language)進行功能行為求精設計。BA是AADL的標準擴展,支持以自動機的方式表達控制流形式的功能行為;而同步語言Signal則是基于數(shù)據(jù)等式的方式表達(同步)數(shù)據(jù)流形式的功能行為,例如用數(shù)學公式所表達的應用功能往往可以通過同步語言來建模;SDL則是一種接近常用C程序的數(shù)據(jù)流和控制流表達語言,其語義為異步執(zhí)行,接近我們常用的執(zhí)行程序。本文主要使用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結構中的基本單元,可以使用模塊為系統(tǒng)中或者系統(tǒng)外部環(huán)境中任意一種實體類型創(chuàng)建模型,Realization為系統(tǒng)聲明的Block和系統(tǒng)實現(xiàn)的Block之間的實現(xiàn)關系。

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

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

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

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

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

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

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

        Figure 2 AADL profile圖2 AADL 概要文件

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

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

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

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

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

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

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

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

        系統(tǒng)基本結構的轉換規(guī)則如下所示:

        (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的數(shù)據(jù)構件。

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

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

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

        系統(tǒng)行為的轉換規(guī)則如下所示:

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

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

        (3) Rule3:活動圖中的action轉換為AADL模型對應行為附件中的transition語句中的behavior_action_block。其中SendSignalAction轉換為行為附件的Transition中的發(fā)送語句port!(var)。AcceptEventAction轉換為行為附件的condition中的on dispatch port。并且為接受事件對應的狀態(tài)添加complete標識。CallBehaviorAction轉換為子程序調(diào)用?;顒訄D中的元素通過分配表明確活動節(jié)點的動作和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工具實現(xiàn)

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

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

        7 工業(yè)界案例分析

        7.1 雷達信息處理系統(tǒng)簡介

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

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

        Figure 6 BDD of radar information processing system圖6 雷達信息處理系統(tǒng)的BDD

        7.2 基于SubSysML的系統(tǒng)建模

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

        Table 1 Statistical data of SysML model of radar information processing system表1 雷達信息處理系統(tǒng)的SysML模型數(shù)據(jù)統(tǒng)計

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

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

        7.3 AADL模型的生成

        完成雷達信息處理系統(tǒng)的SysML建模后,通過SubSysML2AADL工具,可以將SysML模型轉換成AADL初始設計模型。模塊定義圖和內(nèi)部模塊圖表示的系統(tǒng)結構自動轉換為AADL體系結構模型,活動圖表示的系統(tǒng)行為自動轉換為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主要關注系統(tǒng)級建模,在對雷達信息處理系統(tǒng)進行系統(tǒng)級建模時,對于計算過程,在活動圖中使用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個符號相關參數(shù),第8~10行導出相應的相關系數(shù),第11行導出復數(shù)相關系數(shù),第12行將幅角轉變?yōu)槎嗥绽罩行念l率。在calculatingParameter子程序中調(diào)用該同步語言過程來估計多普勒中心。

        8 相關工作

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

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

        9 結束語

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

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

        猜你喜歡
        活動模型系統(tǒng)
        一半模型
        Smartflower POP 一體式光伏系統(tǒng)
        “六小”活動
        少先隊活動(2022年5期)2022-06-06 03:45:04
        “活動隨手拍”
        行動不便者,也要多活動
        中老年保健(2021年2期)2021-08-22 07:31:10
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        三八節(jié),省婦聯(lián)推出十大系列活動
        海峽姐妹(2018年3期)2018-05-09 08:20:40
        亚洲精品岛国av一区二区| 国产日b视频| 国产一区二区三区国产精品| 日韩性感av一区二区三区| 亚洲av不卡一区男人天堂| 成年女人色毛片| 国产欧美日韩专区| 天堂av在线一区二区| 久久蜜桃资源一区二区| 99国产精品自在自在久久| 国产人妻黑人一区二区三区 | 中日韩字幕中文字幕一区| 久久麻传媒亚洲av国产| 色偷偷亚洲第一成人综合网址| 免费人成再在线观看网站 | 国产一区二区三区在线观看蜜桃| 麻豆资源在线观看视频| 97人人模人人爽人人喊电影| 久久狠狠高潮亚洲精品暴力打 | 亚洲av推荐网站在线观看| 草草影院发布页| 欲色天天网综合久久| 免费 无码 国产精品| 国产一区资源在线播放| 国产97在线 | 日韩| 中文字幕无码精品亚洲资源网久久 | 国产精品毛片99久久久久| 亚洲中文字幕人成乱码在线 | 亚洲欧美日韩国产精品专区| 尤物AV无码色AV无码麻豆| 国产一区二区三区成人| 和黑人邻居中文字幕在线| 久久中文字幕乱码免费| 亚洲人成伊人成综合网中文| 久久精品国产av一级二级三级| 毛片大全真人在线| 最新国产成人在线网站| 人妻系列中文字幕av| 又粗又硬又大又爽免费视频播放| 青青操国产在线| 国语自产啪在线观看对白|