2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

Ada語言可重用性技術(shù)方法研究

 昵稱l93AX 2015-04-22

Ada屬于一種強類型通用程序設(shè)計語言,它比較適用于大型的復(fù)雜軟件系統(tǒng),尤其是實時和嵌入式系統(tǒng)?,F(xiàn)在我國很多衛(wèi)星型號軟件都采用Ada語言 進(jìn)行開發(fā)。由于衛(wèi)星使用的芯片代碼區(qū)容量有限,為了實現(xiàn)更多的功能,提高衛(wèi)星的使用率,對于代碼的復(fù)用顯得尤為重要。研究Ada語言的可重用性技術(shù)方法很 有必要,通過對Ada語言重用性技術(shù)方法研究以及其實際應(yīng)用介紹,能夠更好的幫助軟件開發(fā)人員以盡量少的代碼來實現(xiàn)盡量多功能。 
  關(guān)鍵詞:衛(wèi)星;Ada語言;可重用性;類屬單元;C++綁定 
  自從問世以來,Ada得到了世界各國的廣泛重視,已相繼成為美國、歐洲主要西方國家的軍用標(biāo)準(zhǔn)和國家標(biāo)準(zhǔn),我國也于1992年制定為了國家標(biāo) 準(zhǔn)語言(GJB1383-92)??梢园袮da語言視為現(xiàn)代程序設(shè)計語言的一個里程碑和頂峰,Ada語言在很多方面的評估上都要優(yōu)于其他編程語言,如對風(fēng) 險程度的評估、生存期費用的評估、可維護(hù)性以及可擴展性的評估、可用性和可靠性的評估、效率的評估、能力的評估等六個方面,它的評分時優(yōu)于現(xiàn)在比較常用的 C、C++、FORTRAN、PASCAL等主要流行編程語言。 
  Ada語言的特點主要有:可讀性好、允許分離編譯、支持抽象和信息隱藏、促進(jìn)軟件的重用、實施強類型機制、提供多任務(wù)功能、具有異常處理能力 等。因Ada在上述方面具有明顯優(yōu)點,所以它是非常適于大型和實時嵌入式系統(tǒng)開發(fā)和維護(hù)的通用高級語言。目前我國衛(wèi)星型號的軟件廣泛應(yīng)用Ada語言開發(fā)。 
  1 Ada 語言的可重用性方法 
  1.1 軟件可重用性 
  軟件的可重用性一直都是軟件工程中人們所追求的目標(biāo)之一??芍赜眯圆坏兄谔岣哕浖馁|(zhì)量及其開發(fā)效率、而且有助于降低軟件的開發(fā)費用和維 護(hù)費用。從另一個方面上理解,軟件工程的可重用性還應(yīng)該包括多個方面,比如說:應(yīng)用項目的重用性,規(guī)格說明的重用性,設(shè)計的重用性,概念和方法的重 用性等等??偟膩碚f,層次越高的重用,也就會帶來的越大效益。 
  模板元的編程是一種編程方式,在編譯期通過模板實例化進(jìn)行計算。早在1994 年,由Erwin Unruh 在一次C++標(biāo)準(zhǔn)委員會的會議上提出的。因為其編譯器執(zhí)行的獨特的優(yōu)點,模板元編程很快就引起了大家廣泛興趣。此后,模板元編程得到了快速的發(fā)展, 并且在軟件開發(fā)過程中得到了成功的應(yīng)用。到目前為止,很多種編程語言都對模板元編程提供了很好地支持。 
  然而在傳統(tǒng)的編程過程中,每個程序都要經(jīng)過編譯、鏈接以及執(zhí)行這三個必不可少的步驟。編譯過程做的只是將代碼翻譯成機器能識別的機器語言。一般來說,在編譯期能做的還是很少的,編程的任務(wù)大都在運行期執(zhí)行。與傳統(tǒng)編程相比較而言,模板元編程它具有如下2個特點: 
  1)在編譯期進(jìn)行編程是模板元編程最顯著的特點 
  通過在編譯期進(jìn)行編程,這樣的話很多在運行期才能進(jìn)行的任務(wù)都可以在編譯期來完成,這樣做的好處就是能夠在性能或者接口簡單化方面帶來很多好處。 
  2)以更少的開銷提供更多的功能 
  通過對編碼的“再生”,能夠提供比源代碼更多的功能。由于在編譯期承擔(dān)了運行的一些執(zhí)行期的任務(wù),這就意味著運行期的開銷就會減少很多。 
  模板元編程在軟件開發(fā)中的作用也是十分明顯的,在軟件開發(fā)中有著廣泛的應(yīng)用前景。 
  1.2 Ada語言類屬單元 
  代碼重用是多年來軟件開發(fā)一直強調(diào)的重點,也是程序員們的一個希望。但在 C 這些語言中,由于語言的先天不足,代碼重用是有限的。Ada 里提供了類屬單元(Generic unit)的功能(和 C++的模板 template差不多),使得有可能創(chuàng)建更為通用的子程序或程序包。 
  類屬單元是一個程序單元,但它只是一個樣板,不能直接使用,只有通過取例才能使用。類屬單元體現(xiàn)了類型抽象的一種機制,這種機制支持了軟件的 可重用性概念。類屬單元是一種參數(shù)化的模板,它的主要用途是可以提高程序開發(fā)的生產(chǎn)效率,可以避免源代碼的重復(fù),可以提高程序的可維護(hù)性、可讀性以及有效 性。 
  一個類屬單元可以是程序包或子程序,允許執(zhí)行的運算不依賴特定數(shù)據(jù)類型。 

 1.3 Ada95中對C++模板的綁定 
  C++是當(dāng)今公認(rèn)的最為流行的面向?qū)ο缶幊淘O(shè)計語言之一,擁有著大量的、成熟的可重用類庫資源。但Ada95標(biāo)準(zhǔn)中僅僅定義了針對C語言、 FORTRAN語言和COBOL語言的過程級綁定接口。所以,研究Ada95與C++這兩種面向?qū)ο笳Z言的在類層次上的綁定生成技術(shù),能夠?qū)χ赜肅++的 資源具有非常重要意義。 
  Ada95和C++都支持參數(shù)的多態(tài)機制。C++提供的模板以描述具有相似特性的一組為一個類,與之對應(yīng)的是在Ada95中的類屬單元程序 包。模板與類屬的主要功能是將相似或重復(fù)定義交給編譯器來完成。軟件設(shè)計人員僅在程序設(shè)計時定義單一的模板或類屬,以不同的類型參數(shù)來指定區(qū)別不同的實 例。在編譯階段,編譯器會通過用實例的類型實參替換模板或類屬定義中的形參,由模板或類屬來生成具體的實例。因此,模板和類屬本身其實只是一個類似于宏定 義的框架,并不具有任何可執(zhí)行的代碼,它的具體可執(zhí)行的實例代碼都是在編譯時產(chǎn)生的。因此,模板和類屬均屬于基于源代碼、而不是基于目標(biāo)代碼的重用。 
  Ada95-C++綁定,實質(zhì)上來說是對已有二進(jìn)制代碼的重用,通過Ada95編譯器提供給使用者的編用指令和C++二進(jìn)制代碼形式的內(nèi)部鏈 接來實現(xiàn)跨語言環(huán)境的調(diào)用。在重用C++資源時,對模板的綁定不可避免。C++模板屬于一種源代碼重用機制,它在遇到類型實參進(jìn)行具體實例化之前,編譯器 對模板不產(chǎn)生實際可用的目標(biāo)代碼,然而Ada95中類屬綁定程序包的體部分需要將方法以及屬性的實現(xiàn)鏈接到C++的目標(biāo)代碼上。因此,在C++模板實例化 之前不會生成直接可用的類屬程序包。如果要生成直接可用的綁定程序包,必須使得模板實例化,然后再進(jìn)行編譯,產(chǎn)生一個含有可用的二進(jìn)制代碼的目標(biāo)代碼文 件。 
  2 結(jié)論 
  在軟件開發(fā)過程當(dāng)中,編程的可重用性應(yīng)用可以給開發(fā)者省去很多寫重復(fù)代碼的工作,減少代碼量,也可以給軟件的可讀性、易維護(hù)性帶來很大的改 善。針對Ada語言的可重用性技術(shù)方法做的學(xué)習(xí)和研究很有必要,對2種可重用性方法進(jìn)行的研究,包括類屬單元的應(yīng)用以及Ada95如何與C++模板的綁 定,并對如何通過綁定利用C++的可重用資源做了簡要介紹,對相關(guān)開發(fā)人員提供理論技術(shù)支持。 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多