專利名稱:基于模型驅動工程的將aadl組件轉換到接口自動機模型方法
技術領域:
本發(fā)明涉及計算機建模與模型轉換驗證,主要涉及一種基于模型驅動工程的將AADL組件轉換到接口自動機模型的方法。
背景技術:
隨著嵌入式系統(tǒng)的發(fā)展,其體系結構越來越復雜,而傳統(tǒng)的嵌入式系統(tǒng)開發(fā)方法已經(jīng)不能適應當前的需求,為此,模型驅動方法被引入到工程開發(fā)之中。MDE(Model DrivenEngineering)是由OMG組織提出的以模型為中心的軟件開發(fā)框架;MDE強調開發(fā)全過程中模型的應用,將軟件開發(fā)的重點從代碼層提升到模型層。采用模型驅動技術的嵌入式系統(tǒng)開發(fā)在開始的設計階段就要考慮如何建模的問題。因此,在系統(tǒng)建模階段,可以對模型進行相關性質的分析和驗證,從而縮短系統(tǒng)的開發(fā)周期,降低軟件后期改動的成本。模型驅動工程(MDE)技術?;贛DE的軟件開發(fā)過程實際上就是建立模型和模型轉換的過程。這個過程不但涉及到不同抽象層次之間的模型,同時也涉及到相同抽象層次內的模型。如果我們將MDE視為一種概念上的方法論的話,那么目前最主流的兩種MDE建模和模型轉換實現(xiàn)框架就是OMG的MDA以及微軟的軟件工廠。其中,MDA是公認最具代表性的MDE實現(xiàn)框架。典型的MDE元模型體系分為多個模型層次。元模型和模型是相對而言的,元模型解釋了模型元素的含義。從語言的角度來看,元模型相對于模型而言處于建模語言的層次。而定義元模型的元模型就是所謂的元-元模型?;贛DE的模型轉換技術,是MDE技術的核心。它主要涉及模型到模型的轉換,模型到代碼的轉換等幾方面?;贛DE的模型轉換技術的一般過程為建立源和目標領域的元模型;構造兩者之間的轉換規(guī)則并實現(xiàn);輸入源模型,運行轉換規(guī)則得到目標模型。目前傳統(tǒng)模型轉換存在的瓶頸主要有語義匹配和語法映射常常交織在一起、轉換關系復雜和難以理解、轉換規(guī)則很難進行復用。通過使用MDE技術,定義相應的轉換規(guī)貝U,將AADL構件模型轉換到IA模型,將半形式化的AADL建模語言轉換的形式化的IA建模語言有利于將AADL模型所存在的問題使用形式化方法證明。
發(fā)明內容
本發(fā)明目的是,鑒于上述問題,本發(fā)明旨在提供一種基于模型驅動工程的將AADL組件轉換到接口自動機模型的方法,該方法結合形式化證明,可以有效的解決構件模型的組合問題。本發(fā)明是通過以下的技術方案實現(xiàn)的具體是實施環(huán)境為在Windows操作系統(tǒng)下使用OSATE集成開發(fā)環(huán)境,并安裝EMF(Eclipse Modeling Framework)插件和ATL插件的情況下進行;本方法的步驟如下步驟10 :使用OSATE建立AADL模型;步驟11 :使用 EMF(Eclipse Modeling Framework)插件在 OSATE 環(huán)境中建立 AADL元模型;步驟12 :使用 EMF (Eclipse Modeling Framework)插件在 OSATE 環(huán)境中建立 IA元模型;步驟13 :在OSATE中安裝ATL插件,新建一個ATL工程,編寫轉換文件,將AADL模型以及AADL元模型,接口自動機元模型導入到ATL工程中;步驟14 :運行ATL工程自動轉換得到轉換結果;其中,步驟10)和構造的模型符合圖3相應的結構和模型及圖6所示的相應代碼形式,AADL模型是根據(jù)所構建的元模型而實現(xiàn)的,構建代碼如圖6所示;所述步驟10)使用OSATE建立AADL模型中包括I)模型中具有 thread, process, process group, data, subprogramming,processor, memory, bus, device, system 中的一類或幾類。2)模型中每一個組件具有聲明和實現(xiàn)兩部分。3)模型中的組件可以擁有 features, flows, connetctions, properties 中的一個或多個屬性。4)模型中至少有一個組件在實現(xiàn)中具有行為附件-Behavior Annex.具體的建模語法語義遵守SAE AS5506、SAE AS5506/1和SAE AS5506/2規(guī)約標準。
所述步驟11)的使用EMF建立AADL元模型和步驟12 )的使用EMF建立AADL元模型具體如下所使用的AADL元模型是圖4所描述的結構;所使用的IA元模型是圖5所描述的結構;所述步驟13)新建一個ATL工程,編寫轉換文件,將AADL模型以及AADL元模型,接口自動機元模型導入到ATL工程中,執(zhí)行過程包括步驟30 :安裝ATL插件;步驟31 :新建ATL工程步驟32 :編寫轉換文件,主要轉換規(guī)則如下# Rule1. AADL Component — An Interface Automaton# Rule 2.The Feature of AADL Component — The Interface AutomatonPortSet.# Rule 3.The States of AADL Component — The Interface AutomatonStateSet.# Rule 4.The Initial States of AADL Component — The InterfaceAutomatonInitial State.# Rule 5.The Transitions of AADL Component — The InterfaceAutomatonTransition Set.# Rule 6. The Guard of AADL Component Transition — TheInterfaceAutomaton Input Action.# Rule 7. The AADL Component Transition Action sending info totheport — The Interface Automaton Output Action.# Rule 8.The AADL Component Transition Action not sending info totheport — The Interface Automaton Inner Action.步驟33 :將AADL模型及其元模型,IA元模型導入到ATL工程中;所述步驟14)中,運行ATL工程轉換得到轉換結果中的執(zhí)行轉換文件,其執(zhí)行過程包括步驟40 =AADL單一組件單一接口自動機轉換;步驟41 =AADL組件的特征端口描述到接口自動機的接口集合轉換;步驟42 =AADL組件的狀態(tài)集合到接口自動機的狀態(tài)集合轉換; 步驟43 =AADL組件的初始狀態(tài)到接口自動機的初始狀態(tài)轉換;步驟44 =AADL組件的狀態(tài)遷移到接口自動機的狀態(tài)遷移轉換;步驟45 =AADL組件狀態(tài)遷移的守衛(wèi)(Guard)到接口自動機的輸入活動轉換;步驟46 AADL組件狀態(tài)遷移的活動(Action)到接口自動機的輸出活動轉換;步驟47 =AADL組件狀態(tài)遷移的無消息發(fā)送活動(Action)到接口自動機的內部活動轉換;步驟48:得到轉換結果。本方法主要特點為可以有效解決半形式化的AADL構件模型轉換到接口自動機的形式化模型,基于模型驅動工程理念而非傳統(tǒng)方法,有效利用現(xiàn)有建模框架和模型轉換方法等
圖1為基于模型驅動工程的將AADL組件轉換到接口自動機模型的方法的完整流程圖;圖2為基于模型驅動工程的模型轉換原理圖;圖3為AADL模型示例; 圖4為AADL的元模型;圖5為接口自動機IA的元模型;圖6為AADL模型的代碼形式。
具體實施例方式下面通過附圖對本發(fā)明的技術方案做進一步的詳細描述。本發(fā)明主要的方法是基于模型驅動工程的將AADL組件轉換到接口自動機模型的方法,其主要的過程如附圖1所示1.獲得AADL模型2.構造AADL構件元模型3.構造IA (接口自動機)元模型4.構造從AADL到接口自動機的轉換規(guī)則5.建立ATL工程,運行轉換規(guī)則,將AADL模型利用轉換規(guī)則轉換到接口自動機。其中具體的過程如附圖1所示,主要的步驟如下所示步驟10 :使用OSATE建立AADL模型;步驟11 使用EMF建立AADL元模型;
步驟12:使用EMF建立IA元模型;步驟13 :新建一個ATL工程,編寫轉換文件,將AADL模型以及AADL元模型,接口自動機元模型導入到ATL工程中;步驟14 :運行ATL工程轉換得到轉換結果;步驟10中使用OSATE建立AADL模型是符合圖3的樹形結構以及相應的模型代碼形式所述步驟11)的使用EMF建立AADL元模型和步驟12 )的使用EMF建立AADL元模型為附圖4和附圖5所示的AADL行為描述元模型及接口自動機元模型。步驟13)的新建一個ATL工程,編寫轉換規(guī)則將建立的AADL模型以及AADL元模型,IA元模型導入到ATL工程中包括如下過程步驟30 :安裝ATL插件;步驟31 :編寫轉換規(guī)則步驟32 :將設計的AADL模型和AADL元模型,IA元模型,導入到工程中。運行ATL工程轉換得到轉換結果,包括如下過程步驟40 =AADL單一組件單一接口自動機轉換;步驟41 =AADL組件的特征到接口自動機的接口集合轉換;步驟42 =AADL組件的狀態(tài)集合到接口自動機的狀態(tài)集合轉換;步驟43 =AADL組件的初始狀態(tài)到接口自動機的初始狀態(tài)轉換;步驟44 =AADL組件的狀態(tài)遷移到接口自動機的狀態(tài)遷移轉換;步驟45 =AADL組件狀態(tài)遷移的守衛(wèi)(Guard)到接口自動機的輸入活動轉換;步驟46 AADL組件狀態(tài)遷移的活動(Action)到接口自動機的輸出活動轉換;步驟47 =AADL組件狀態(tài)遷移的無消息發(fā)送活動(Action)到接口自動機的內部活動轉換;步驟48:得到轉換結果。最后應當說明的是以上步驟僅用于說明本發(fā)明的技術方案而非對其限制。盡管上述步驟對本發(fā)明進行了詳細的說明,相關領域的技術人員應當理解,依然可以對本發(fā)明的具體技術進行修改或者對部分技術進行等同替換;而不脫離本發(fā)明技術方案的精神,其均應涵蓋在本發(fā)明請求保護的技術方案范圍當中。
權利要求
1.一種基于模型驅動工程的將AADL組件轉換到接口自動機模型方法,其特征是包括步驟 步驟一建立AADL組件模型; 步驟二 編寫轉換規(guī)則; 步驟三利用轉換規(guī)則將AADL模型轉換到IA模型; 所述步驟一中,AADL模型是具有如下所描述的結構和元素 1)模型中具有thread、process、process group、data、subprogramming、processor、memory、bus、device 和 system 中的一類或幾類; 2)模型中每一個組件具有聲明和實現(xiàn)兩部分; 3)模型中的組件有features、flows、connetctions和properties中的一個或多個屬性; 4)模型中至少有一個組件在實現(xiàn)中具有行為附件BehaviorAnnex ; 建模語法語義遵守SAE AS5506、SAE AS5506/1和SAE AS5506/2規(guī)約標準; 所述步驟二中,編寫的轉換規(guī)則包括Rule1. An AADL Component — An Interface AutomatonRule 2.The Feature of AADL Component — The Interface Automaton PortSet.Rule 3.The States of AADL Component — The Interface Automaton StateSet.Rule 4.The Initial States of AADL Component — The InterfaceAutomatonInitial State. Rule 5. The Transitions of AADL Component — The InterfaceAutomatonTransition Set.Rule 6.The Guard of AADL Component Transition — The InterfaceAutomatonInput Action.Rule 7. The AADL Component Transition Action sending info to the port —TheInterface Automaton Output Action. Rule 8.The AADL Component Transition Action not sending info totheport — The Interface Automaton Inner Act1. 所述步驟三中,利用轉換規(guī)則將AADL模型轉換到IA模型具體步驟包括 步驟20 :選擇組件實現(xiàn)中具有行為附件的AADL組件模型進行轉換; 步驟21 :AADL組件的特征端口描述到接口自動機的接口集合轉換; 步驟22 =AADL組件的狀態(tài)集合到接口自動機的狀態(tài)集合轉換; 步驟23 =AADL組件的初始狀態(tài)到接口自動機的初始狀態(tài)轉換; 步驟24 =AADL組件的狀態(tài)遷移到接口自動機的狀態(tài)遷移轉換; 步驟25 =AADL組件狀態(tài)遷移的守衛(wèi)Guard到接口自動機的輸入活動轉換; 步驟26 =AADL組件狀態(tài)遷移的活動Action到接口自動機的輸出活動轉換; 步驟27 :AADL組件狀態(tài)遷移的無消息發(fā)送活動Action到接口自動機的內部活動轉換; 步驟28 :利用轉換得到的元素可以得到相應的接口自動機。
全文摘要
一種基于模型驅動工程的將AADL組件轉換到接口自動機模型方法,包括步驟步驟10使用OSATE建立AADL模型;步驟11使用EMF建立AADL元模型;步驟12使用EMF建立IA元模型;步驟13新建一個ATL工程,編寫轉換文件,將AADL模型以及AADL元模型,接口自動機元模型導入到ATL工程中;步驟14運行ATL工程轉換得到轉換結果接口自動機;該方法主要特點為可以有效解決半形式化的AADL構件模型轉換到接口自動機的形式化模型,基于模型驅動工程理念而非傳統(tǒng)方法,有效利用現(xiàn)有建??蚣芎湍P娃D換方法等。
文檔編號G06F17/50GK103049602SQ20121053904
公開日2013年4月17日 申請日期2012年12月13日 優(yōu)先權日2012年12月13日
發(fā)明者張?zhí)? 張巖, 趙濟州, 李宣東 申請人:南京大學