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

基于AADL的軟件開發技術研究

2009-12-31 00:00:00宋翠葉杜承烈
計算機應用研究 2009年9期

摘 要:形式化方法對于軟件的開發過程有著重要的作用。為了研究體系結構分析與設計語言(AADL)在軟件開發中的作用及其技術現狀,介紹了AADL的語言組成和相關特性,分析了AADL在軟件開發過程中的作用,給出了一個相應AADL工具集的框架模型。在此基礎上,對現有的AADL相關工具進行了綜述比較,總結出該框架的技術現狀,并指出了AADL相關工具開發與應用的趨勢。

關鍵詞:體系結構分析與設計語言; 軟件開發過程; 瀑布模型; 工具集

中圖分類號:TP311文獻標志碼:A

文章編號:1001-3695(2009)09-3361-04

doi:10.3969/j.issn.1001-3695.2009.09.045

Survey of software development technology based on AADL

SONG Cui-ye, DU Cheng-lie, LI Gang

(College ofComputer, Northwestern Polytechnical University, Xi’an710129, China)

Abstract:Formalization is very important in software development. AADL(architectural analysis and design language)is a kind of architecture description language. In order to get a deep understand about the role of AADL in software development, this paper firstly analysed the elements of the language and summarized its special characteristics. Then, it analysed its use in software development, and pointed out kinds of tools it requires. After that, gave a model of an AADL tool suite framework, and described each part of the framework in detail. According to the framework, made an overview of the existing tools for AADL. The analysis and comparison result shows that technologies and tools for AADL will be developed in a more integrated way.

Key words:AADL; software development process; waterfall model; tool suite

0 引言

體系結構分析與設計語言(architectural analysis and design language,AADL)是由美國自動機協會(Society of Automotive Engineers,SAE)于2004年10月頒布的航空標準AS5506[1]。AADL由航電領域的體系結構描述語言 MetaH演化而來,最初被稱為航電體系結構描述語言(avionics architecture description language)。AADL為在軟件開發過程中采用形式化方法提供了重要的支持,不僅適用于航電領域,也適用于其他應用領域,尤其是各種具有高實時性要求的分布實時嵌入式系統(distri-buted real-time and embedded systems, DRE)[2~4]。

在軟件開發過程中有效使用AADL,需要強大的工具支持[5]。目前,國外對AADL的研究與應用較多[2~4],其主要工具也都來自國外[6],國內對AADL的研究較少。本文旨在通過研究AADL及其相應工具的研究現狀,為在軟件開發過程中有效使用AADL提供一定的指導作用,同時,也為進一步的工具開發提供依據,從而促進AADL在軟件開發中的應用。

本文對AADL的特性作了簡要介紹,以此為下文的基礎。以瀑布模型為例,分析了AADL在軟件開發中的重要作用及其對相應工具的要求,給出了一種AADL工具集的組成框架。

1 AADL特性簡介

如圖1所示,AADL是一種基于構件的建模語言,采用結構化的描述來對嵌入式系統的軟/硬件進行統一建模[1]。它將構件類型分為十種,包括:進程(process)、線程(thread)、線程組(thread group)、數據(data)和子程序(subprogram)五種應用軟件構件;處理器(process)、存儲器(memory)、總線(bus)和設備(device)四種硬件構件;一種復合構件系統構件(system)。AADL構件類型與實現均包含了豐富的構件描述子句(description clause),如subcomponents描述子句,描述了構件的組成關系。通過描述子句,AADL不僅提供了系統靜態結構的描述支持,還提供了許多運行時語義支持,如消息傳遞、事件傳遞、共享構件的同步訪問、線程調度協議、時間要求和遠程過程調用,以及通過模式及模式轉換支持的動態重配置建模。

AADL還提供了四種精化途徑:構件類型擴展、構件類型多種實現、構件實現擴展、構件實現的精化(refines)子句。充分發揮了面向對象的繼承的思想,不同的是,AADL將其泛化為擴展關系(extends),不僅支持構件實現繼承構件類型,也支持類型之間、實現之間的繼承關系。通過以上途徑,對系統構件的類型重用、實現重用以及逐步精化的迭代系統設計過程提供了很好的支持。

AADL本身沒有規定系統的集成技術,如操作系統、中間件應用程序接口、總線技術或拓撲,但是通過AADL構件及構件間的交互關系可以描述特定的體系結構拓撲。如文獻[7]利用AADL強大的構造能力,提出了一種將應用程序和中間件統一建模的方法。

除了圖1所示的文本建模元素外,AADL還提供了一套對應的圖形建模符號。除文本視圖外,AADL提供了XML視圖和圖形視圖兩種等價視圖。三視圖的等價性,既滿足了對體系結構建模的圖形和文本需要,也滿足了對模型一致性維護的要求。

為了便于系統規模的控制和命名問題的解決,AADL還提供了包(package)的建模。AADL對建模元素擴展性的良好支持則是由Annex Library提供的。用戶可以定義和使用新的屬性和屬性集,可以定義新的構件類型描述子句,從而使AADL不斷擴展與完善。

2 AADL在軟件開發中的作用

民航標準DO178B[8]將軟件開發過程定義為軟件需求過程、軟件設計過程、軟件編碼過程和集成過程。另外,軟件的驗證過程要貫穿整個開發過程,對開發好的軟件要進行配置管理,保證其正確運行。

如圖2所示,瀑布模型是一種典型的軟件工程范型,它是一種文檔驅動的開發方法,它將軟件的開發過程劃分為需求分析、軟件設計、程序編寫、軟件測試和運行維護五個基本活動,并且規定了它們自上而下、相互銜接的次序,如同瀑布流水,逐級下落。其開發過程基本符合DO178B對軟件開發過程的要求。本節以瀑布模型為例,分析AADL的形式化作用及其對工具的要求。

該模型的優點是:為項目提供了按階段劃分的檢查點; 階段劃分明確,當前一階段完成并通過驗證后,只需要去關注后續階段。

該模型也存在明顯的缺點:階段之間產生大量的文檔,極大地增加了工作量; 早期的錯誤可能要等到開發后期的測試階段才能發現,造成嚴重的后果,開發風險較大。

若采用AADL進行體系結構的描述,則可以用系統體系結構的AADL模型來記錄需求分析的結果,得到需求模型。隨著系統詳細設計的展開,通過對AADL模型的逐步精化,最終得到完整的體系結構設計模型,即設計模型。需求模型和設計模型可以分別作為傳統意義上的概要設計和詳細設計。設計結果由精確的AADL模型來描述,從而得到如圖3所示的采用AADL的瀑布模型。

與傳統的瀑布模型相比,這種瀑布模型有以下優點:

a)采用精確的形式化語法和語義描述需求分析結果和詳細設計結果。從需求分析到詳細設計的過程即體系結構的精化過程。

b)AADL模型是結構化、形式化的,因此可以支持代碼的自動生成和文檔的自動生成。

c)AADL模型的形式化,使得模型的驗證過程可以采用采用形式化方法。

該開發模型也隱含有以下需求:

a)設計人員要熟悉AADL,并能熟練準確地使用AADL。

b)在使用AADL的過程中,手動書寫模型和模型驗證與分析幾乎是不可行的,因此需要建模工具、模型驗證工具、自動化產生工具等一系列工具作為輔助。

3 AADL工具集框架模型

文獻[6]指出了一些可能用到的AADL工具類型。結合文獻[6],本章給出了一種詳細的AADL工具集組成框架。圖4為使用OSATE建模工具開發的該框架的AADL模型圖。如圖4所示,該框架用于支持從體系結構設計到代碼和文檔生成的開發過程。

其中,右側四類工具,即建模工具(ModelingTool)、驗證工具(AADLVerifier)、仿真工具(AADLSimulator)和自動化產生工具(AutoGenerator)可用于輔助開發過程中的建模、模型驗證、系統仿真、代碼和文檔自動生成。驗證工具和仿真工具都用于系統驗證,但因仿真技術的獨立性,它已成為一種專門的技術,這里將它獨立表示。左側三類工具,即AADL解析器(AADLParser)、AADL產生器(AADLGenerator)、模型轉換器(ModelTransformer),為其他工具的開發提供公共服務,它們是右側四類工具的基礎。

AADL工具集框架中的各類工具詳細功能如下:

a)解析器AADLParser。讀取AADL描述,并在內存中用一個數據結構將描述信息儲存,生成MemoryModel。這個數據結構可以用于進一步的工具操作。

b)AADL產生器AADLGenerator。用于將AADLParser生成的MemoryModel還原為AADL可視模型,如文本視圖、XML視圖和圖形視圖。AADLGenerator和AADLParser都是實現建模工具不可缺少的部分。

c)模型轉換器ModelTransformer。主要用于AADL模型向已有ADL模型轉換,如轉換為MetaH模型或UML模型,從而復用已有MetaH工具集和UML分析工具。

d)建模工具ModelingTool。主要用于輔助需求分析和設計人員的建模過程,從而降低建模工作量。

e)驗證工具AADLVerifier。用于對AADL模型進行語法語義檢查、系統安全性、可調度性等的分析。將驗證結果反饋給設計人員,從而指導設計模型的進一步完善。

f)仿真工具AADLSimulator。用于系統全局行為的仿真,便于在早期發現系統的可行性和正確性。將仿真結果反饋給設計人員,從而指導設計模型的進一步完善。

g)自動化產生工具AutoGenerator。用于根據系統設計模型,自動產生框架代碼或可執行代碼,并根據開發人員的要求,自動產生各種更便于開發人員交流的文檔,如規范的自然語言文檔。

4 現有AADL工具

AADL標準化促使許多人可以使用該語言并開發其相應工具[6]。本章依據圖4給出的工具集框架模型,對已有的與AADL相關的工具進行綜述和分析,以研究AADL工具技術的現狀。

4.1 AADL相關工具分析

1)OSATE

OSATE(open source AADL tool environment)是由SEI開發的[10],它是一個基于Eclipse平臺的開源插件工具集。它包含有文本解析器、AADL產生器來支持AADL文本、XML和圖形三視圖的同步更新與轉換;支持由多個文件描述的基于文本的和XML的AADL模型的解析。

其驗證工具包括語法、語義檢查器和多種分析器。其語法語義檢查器是通過將AADL文本模型轉換為XML模型,然后再作進一步檢查,并產生錯誤報告。各種分析器功能包括資源預算和分配分析(resource budget and allocation analysis)、端口連接檢查(required connection checking,stream miss rate checking)、安全級別檢驗(security level checking,safety criticality level analysis)、流延遲分析(flow latency analysis)、優先級倒置檢驗(priority inversion checker)和應用程序綁定與調度分析(application binding scheduling analysis)。各種分析器的分析結果可反饋給開發人員。

OSATE建模工具包括:a)語法敏感的文本編輯器,可以高亮顯示關鍵字,對任一建模元素,當鼠標放上時,彈出該元素的相關解釋文檔;b)AADL XML視圖瀏覽器和編輯器;c)語法敏感的AADL對象模型編輯器,提供圖形符號的拖、放和撤銷功能,配有AADL屬性瀏覽器;d)錯誤報告顯示器,根據語法語義檢查結果,顯示錯誤報告。

另外,OSATE目前還有一種模型轉換器MetaH Generation,用于將AADL對象模型轉換為MetaH文本模型,從而支持對現有MetaH技術的復用。

OSATE涵蓋了除仿真工具和自動化產生器以外的所有工具類型。其已有的工具為使用AADL提供了強大的支持。同時,也存在一些不完善的地方,如MetaH Generation、安全級別檢驗功能都有一定的局限。

2)TOPCASED-AADL

TOPCASED(toolkit in open source for critical applications systems development) [11]是由歐洲空客Airbus開發的一個基于Eclipse平臺的系統/軟件工程工具集。

TOPCASED是嚴格面向模型的,主要研究建模語言,包括Ecore、UML、SAM、AADL和SysML。它不僅提供模型編輯器,還提供模型檢驗器和模型轉換器,涵蓋了從需求階段到實現階段的全部流程,其自身也是基于建模和代碼生成的。另外還包括許多橫向活動管理,即異常管理、版本控制和需求追蹤等。

TOPCASED提供了一個AADL圖形編輯器,以支持AADL建模、模型轉換和驗證。其輸入模型即OSATE工具提供的系統元模型,而該圖形編輯器也已集成到了OSATE中。

除了建模與驗證工具外,TOPCASED項目研究了一種自動化產生工具documentation generator,給用戶提供一種簡單的可定制的方式,用于創建新的文檔模板,通過將文檔模板與系統模型相結合,產生一個相關聯的文檔。 該功能尚處于實驗狀態,但對軟件開發過程的支持有著重要的意義。

3)ADeS

ADeS(architecture description simulation) [12]是由SEI開發的基于Eclipse平臺,同時也是基于OSATE和TOPCASED的仿真插件。

ADeS用于仿真由AADL描述的系統行為。在軟件開發的每個階段,AADL的體系結構被逐步細化和精確化。ADeS可以解析系統描述,并且仿真系統的全局行為。 因此,ADeS既可以用于開發初期對系統全局行為的仿真,也可以用于在開發后期,對系統精確行為進行評估。

4)OCARINA

Ocarina[13]是由法國TELECOM ParisTech采用Ada語言開發的一個AADL模型處理工具。Telecom Paris采用AADL作為DRE系統開發的必要工具。

Ocarina開發了自己的模型解析器:AADL parser/printer,以支持模型的操作。其模型可采用Cheddar工具作進一步可調度性分析。

Ocarina采用模型轉換器來支持圖形的處理。它提供了一個用于Dia圖像處理的AADL parser/printer,從而利用Dia圖像處理工具的擴充能力,處理AADL圖形視圖。

在自動化產生工具方面,Ocarina基于Ada Ravenscar profile,開發了一個用于高集成度分布式應用程序的運行時軟件。該軟件繼承了PolyORB middleware的概念,采用一個高度集成的compliant source base,支持兩種目標語言的產生,即Ada 2005和 C。目前,Ocarina可以將DRE系統的AADL描述文件,轉換為運行在PolyORB之上的Ada應用程序。

5)Cheddar

Cheddar[14]是由法國Brest大學的LISyC 團隊采用Ada語言開發的實時調度分析工具,用于檢驗實時系統中的時間方面的約束。Cheddar接受但不局限于由AADL描述的系統體系結構模型。

Cheddar屬于AADL仿真工具。其調度仿真器由兩個部分組成:a)圖形編輯器,用于描述實時應用程序或系統,采用GtkAda制作;b)框架,由多種典型的實時調度算法、可行性分析算法組成,它可以通過計算調度,自動查找任務約束屬性,也可以不計算,直接進行可行性測試。

Cheddar可以作為STOOD和TOPCASED插件運行。Cheddar和STOOD、TOPCASED之間的互操作由Pierre Dissaux(Ellidiss技術)負責管理。Ellidiss和Cheddar項目之間有合作關系,Ellidiss給Cheddar提供工業支持,同時也參與工具集的維護,并支持LISyC Team。

6)STOOD AADL

STOOD是由歐洲Ellidiss技術中心提供的一種基于構件的軟件建模工具[15,16]。它涵蓋了軟件開發的各個階段,且符合DO178B要求,支持已有C、Ada、C++等代碼的自動產生和重用,并支持系統的早期性能分析,為獲得更高的軟件質量和軟件生產效率提供工具支持。

STOOD提供了一個AADL圖形編輯器,可以導入和導出AADL文本模型,并且支持AADL 1.0、UML 2.0、HOOD三種模型的等價轉換。它不僅具有AADL解析和產生功能,還具有AADL模型轉換的功能,對于重用已有的STOOD技術,更好地發揮AADL在開發過程中的作用具有重大意義。

4.2 歸納總結

根據對六個現有AADL相關工具的分析可知,AADL Parser和AADL Generator已比較成熟,在各項工具中對AADL模型的解析與再生都不是問題。模型轉換技術(model transformers)主要有OSATE提供的MetaH轉換器和Ocarina的為使用Dia技術開發的AADL parser/printer。另外STOOD還提供了AADL 1.0、UML 2.0和HOOD模型之間的等價轉換。

表1給出了現有工具在圖3給出的四種用于軟件開發過程的四類工具上的分布情況。根據表1和前述分析可知:

a)建模工具比較完善。OSATE、TOPCASED、Ocarina和STOOD都提供了建模功能。其中Ocarina借助Dia提供AADL圖形模型的處理。

b)驗證工具主要為基于OSATE的各種AADL模型分析器、TOPCASED和STOOD提供各種分析技術。其中OSATE的各種模型分析器還不夠完善和充分。

c)目前仿真工具主要為事件驅動的仿真工具ADeS和可調度性驗證工具Cheddar。兩者均可用于與其他工具的結合使用。

d)自動化產生工具主要有TOPCASED和STOOD。其中TOPCASED的文檔產生功能尚不成熟,STOOD工具對多種目標代碼的產生功能對AADL模型向目標系統轉換提供較好的支持。

5 結束語

AADL作為一種體系結構建模語言,為軟件開發過程的形式化提供了一種途徑。為在軟件開發過程中有效使用AADL,本文給出了AADL工具集的框架,對其各種工具作了詳細說明。經過對現有AADL相關工具的分析和歸納,總結了AADL相關工具的研究與開發現狀。現有AADL相關工具,尤其是各種模型驗證工具和仿真工具有待進一步的開發和完善。

從分析和歸納結果可以看出,AADL工具開發技術呈現以下趨勢:

a)相關工具集成化。例如OSATE、TOPCASED和ADeS都是基于Eclipse平臺開發的,它們之間存在著緊密的聯系。Ocarina建立的AADL模型可以用Cheddar進行實時可調度性分析,而Cheddar可以作為STOOD和TOPCASED插件運行。各種已有工具的集成有望形成一個強大的AADL工具集。

b)已有技術重用。TOPCASED和STOOD均涵蓋了從需求階段到實現階段的全部流程。它們都是在研究模型驅動的開發技術過程中使用了AADL,同時也支持多種其他建模語言。這種方式既在多種模型間復用了分析驗證技術和產生技術,也通過模型轉換,發揮已有較成熟的體系結構建模語言的優勢,并復用其相關技術。

隨著AADL自身的擴充和完善,及其相應工具的進一步開發和完善,AADL將在軟件開發過程中發揮越來越重要的作用。

參考文獻:

[1]FEILER P H, LEWIS B, VESTAL S, et al. An overview of the SAE architecture analysis design language (AADL) standard:a basis for model-based architecture-driven embedded systems engineering[C]//Proc of Workshop on Architecture Description Languages. Boston:Springer, 2005: 3-15.

[2]FEILER P H, GLUCH D P, HUDAK J J. The architecture analysis design language(AADL): an introduction. CMU/SEI-2006-TN-011[R][S.l.]:CMU,2006.

[3]FEILER P H, GLUCH D P, HUDAK J J, et al. Pattern-based analysis of an embedded real-time system architecture[C]//Proc of Workshop on Architecture Description Languages. Boston:Springer,2005: 51-65.

[4]TOKAR J L. Architecting dependable systems with the SAE architecture analysis and description language (AADL)[C]//Proc of Workshop on Architecting Dependable Systems IV. Berlin, Heidelberg:Springer,2007:1-13.

[5]TILMAN J F. Building tool suite for AADL [EB/OL].[2008-12-03]. http://www.springerlink.com/content/4bq43j8g505wk48e/fulltext.pdf.

[6]AADL Tools [EB/OL]. [2008-12-03]. http://la.sei.cmu.edu/aadlinfosite/AADLTools.html.

[7]VERGNAUD T, PAUTET L, KORDON F. Using the AADL to describe distributed applications from middleware to software components[C]//Proc of Workshop on Reliable Software Technology-Ada-Europe. Berlin, Heidelberg:Springer,2005.

[8]RTCA/DO-178B, Software considerations in airborne systems and equipment certification[S]. Washington DC:RTCA Inc, 1992.

[9]Waterfall-software development model[EB/OL]. http://www.buzzle.com/editorials/3-13-2005-67039.asp.

[10]Open source AADL tool environment[EB/OL]. [2008-12-03]. http://la.sei.cmu.edu/aadlinfosite/OpenSourceAADLToolEnvironment.html.

[11]TOPCASED-home[EB/OL].[2008-12-03]. http://topcased-mm.gforge.enseeiht.fr/website/index.html.

[12]ADeS, a simulator for AADL [EB/OL].[2008-12-03].http://www.axlog.fr/aadl/ades_en.html.

[13]Ocarina:an AADL model processing suite[EB/OL]. https://libre2.adacore.com/ocarina/.

[14]The Cheddar project : a free real-time scheduling analyzer[EB/OL]. http://beru.univ-brest.fr/~singhoff/cheddar/index.html.

[15]DISSAUX P. HOOD and AADL[EB/OL].[2008-12-03]. http://www.ellidiss.com/dasia03.pdf.

[16]STOOD AADL[EB/OL].http://www.ellidiss.com/stood.shtml.

主站蜘蛛池模板: 天天躁夜夜躁狠狠躁图片| 美女毛片在线| 99视频在线精品免费观看6| 精品午夜国产福利观看| 国产精品免费电影| 乱人伦视频中文字幕在线| 国产成人综合在线视频| 中文字幕资源站| 国产免费福利网站| 亚洲最大看欧美片网站地址| 欧美一区二区啪啪| 久久超级碰| 色香蕉影院| 免费xxxxx在线观看网站| 国产综合另类小说色区色噜噜 | 第一区免费在线观看| 亚洲精品无码久久毛片波多野吉| 亚洲欧洲日韩久久狠狠爱| 欧美一级黄片一区2区| 久久99精品国产麻豆宅宅| 亚洲综合久久成人AV| 国产午夜人做人免费视频中文| 国产精品林美惠子在线观看| 性喷潮久久久久久久久| 亚洲综合亚洲国产尤物| 老司机午夜精品网站在线观看| 欧美日一级片| 永久免费无码日韩视频| 无码有码中文字幕| 小说区 亚洲 自拍 另类| 91亚洲精选| 欧美高清国产| 日本免费精品| a级毛片一区二区免费视频| 国产最爽的乱婬视频国语对白| 亚洲第一网站男人都懂| 国产色婷婷| 毛片免费视频| 久久久久久久蜜桃| 精品国产自| 国产丝袜丝视频在线观看| 精品国产免费观看| 日本欧美中文字幕精品亚洲| 啊嗯不日本网站| 狠狠久久综合伊人不卡| 国产精品无码作爱| 成人免费网站在线观看| 久久精品人人做人人| 狠狠操夜夜爽| 四虎国产在线观看| 91视频99| 丁香婷婷综合激情| 欧美三级视频网站| 视频一本大道香蕉久在线播放 | 青青操视频在线| 97视频在线精品国自产拍| 97成人在线视频| 四虎成人精品| 亚洲丝袜第一页| 青青国产成人免费精品视频| 国产精品香蕉在线| 久久久久免费看成人影片 | 亚洲日本精品一区二区| 五月天丁香婷婷综合久久| 免费又爽又刺激高潮网址 | 亚洲人成网18禁| 深夜福利视频一区二区| 欧美亚洲欧美| 国模在线视频一区二区三区| 国产丰满大乳无码免费播放| 天天干伊人| 四虎永久免费在线| 美女无遮挡拍拍拍免费视频| 偷拍久久网| 国产精品香蕉在线观看不卡| 三上悠亚精品二区在线观看| 青青草原国产| 成人福利在线视频| 亚洲va视频| 久久国产精品77777| 亚洲一区二区日韩欧美gif| 欧美亚洲国产一区|