• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    模型化系統技術方案

    技術編號:2891941 閱讀:203 留言:0更新日期:2012-04-11 18:40
    一種用于在計算機存儲器中產生計算機程序的方法,該方法的特征在于包括以下步驟: (a)生成多個部件,每一部件表示存儲器中的計算機程序的元素; (b)在儲器中生成部件的多個特性; (c)確定在計算機程序中的部件的相關性;以及 (d)在數據庫中組織部件,特性和相關性。(*該技術在2014年保護過期,可自由使用*)

    【技術實現步驟摘要】

    本專利技術涉及計算機輔助軟件工程(CASE),尤其涉及面向人的目標編輯系統(HOOPS),該系統為計算機程序建立提供了交互和動態的環境。本專利技術使程序員能夠用開發復雜程序(例如操作系統(OS)軟件及具有圖形用戶界面(GUI)的大的應用程序)時極為有用的優化增量編譯程序對在計算機程序中微小的顆粒源碼進行編輯。本專利技術以使用通用的面向目標編程(OOP)語言C++作為較佳實施例,但其原理適用于面向目標的以及面向過程的其它計算機編程語言,本專利技術亦可用于建立使用常規的和OOP語言的程序。面向目標編程(OOP)是建立友好的用戶關系以及智能計算機軟件的最佳環境。OOP的關鍵元素是數據封裝(data eucapsulation),繼承(inheritance)以及多形性(Polymor-phism)。其中,數據封裝是指在面向目標的編程中,一個目標的屬性和性能被保護而不被其他目標直接存取;繼承則是指在面向目標的編程中,目標的一個分類可以被定義為一個一般分類的特例,但自動包括該一般分類的方法及變量定義;而多形性則指面向目標的編程中,通過繼承關聯的不同分類的目標唯一地響應同一成員功能調用。這些元素可以用于產生圖形用戶界面(GUI),尤其是由具有圖符,鼠標光標以及選項屏的窗口技術環境所構成的GUI。雖然這三種關鍵元素在OOP語言中很常見,但大部分OOP語言在使用它們時有很大的區別。OOP語言的例子包括Smalltalk和C++。Smalltalk實際上不止一種語言,它可以準確地標識為一種編程環境。該語言是在70年代早期由位于施樂普拉阿圖研究中心(PARC)的學習研究小組開發的。在該語言中,一個消息被送到一個目標以對目標本身進行評價。消息完成的任務類似于在常規編程語言中功能調用的任務。程序員無需關心數據類型而只須關心生成正確順序的消息及使用正確的消息。C++則是由Bjarne Stroustrup在1983年在ATT貝爾實驗室由C開發而成的。C++的主要概念是分類,它是用戶定義型的,分類提供了面向目標的編程特性。C++模塊與C模塊相兼容而且可隨意聯接,從而現有的C程序庫可由C++程序所用。運行一個計算機程序的完整過程涉及把程序員寫出的源碼翻譯為機器可執行的格式,通常稱為目標碼,然后再執行該目標碼,翻譯的過程是由解釋程序或編譯程序完成。在解釋程序中,翻譯是隨程序的運行而進行的;而在編譯程序中,則是在運行程序之前就進行翻譯并將結果作為目標碼存貯起來。在一般的編譯和執行系統中,翻譯和執行是分開進行的,即編譯只進行一次。而在解釋系統中,例如Smalltalk解釋程序,兩者是順序進行。Smalltalk需要解釋程序是因為該編程環境的性質在一個目標被實現之前不允許指定專用寄存器或地址空間。編譯程序包括三部分詞法分析程序,語法分析程序,以及代碼生成程序。詞法分析程序的輸入是代表高級語言程序的順序字符。詞法分析程序將該順序分為順序標記以輸入到語法分析程序,語法分析程序進而將標記分為指令并利用語法規則的數據庫來確定每條指令的語法是否正確。若不正確,則產生錯誤消息。若正確,則指令被分解為順序基本指令。這些順序基本指令被送至代碼生成程序以產生低級語言。代碼生成程序本身通常又分為三部分;中間代碼生成,代碼優化,以及代碼生成,基本而言,代碼生成程序接收來自語法分析程序的輸出并生成機器語言代碼。為了有助于軟件開發,已開發了增量編譯程序,在這類程序中,編譯程序在批處理操作中生成用于接收的一條語句或一組語句的代碼,而與稍后生成的用于其他語句的代碼無關。增量編譯的優點在于代碼可以在部分程序寫成時即進行編譯和測試,而無需等到整個程序完成時才進行調試處理。但是常規的增量編譯程序必須每次都對一個完整的模塊進行再處理。優化編譯程序產生高度優化的目標碼,從而在許多情況下使得在源碼時進行調試比一個非優化編譯程序更困難。這一問題源于這一事實,即雖然一個例行程序將被編譯以給出適當的答案,但計算該答案的確切方式可能與源碼中描述的大相徑庭。優化編譯程序可以做的一些事情包括刪除已知不會影響最終結果的代碼或變量,將非變量代碼移出循環,合成公用碼,在變量不再需要時重新使用分配給這些變量的寄存器等等。如此,源碼到目標碼或目標碼到源碼的映射在給定某些優化時可能會有困難。由于變量的值可能并非在例行程序中任意位置處總是可用的,所以可能難于校驗變量的值。在優化代碼中修改變量值尤為困難。除非專門說明為易失的,否則編譯程序會“記住”分配給變量的值并可能在以后的代碼中不再讀該變量而使用“已知”的值。因此,該值的改變會產生錯誤的程序結果。雖然在先有技術的計算機程序建立,測試及開發中有許多優點,但已知的軟件開發工具仍給程序員帶來極大負擔,從而通常要求有直覺的洞悉力。其次,常規的面向批處理的編程系統需要很長的編輯——編譯——測試周期,這嚴重破壞了編程的創造性行為。因此,本專利技術的目的是提供一種用于設計計算機程序的面向人的交互動態過程,該過程有助于程序員的精力集中,從而提高生產力。根據本專利技術,程序建立可由稱為項目(Project)的增量程序模型和三個主要功能程序交互作用而實現。一個程序被作為語義單元來設計,語義單元被稱之為部件,這些部件由稱為屬性的命名數據項目表構成。不是象常規系統那樣把程序作為一個松散的文件集存儲起來,本專利技術的面向人的目標編程系統(HOOPS)在項目中把有關程序的所有信息存起來。在HOOPS中,部件是增量編譯的顆粒;即一個部件代表一個可編譯的語言元素,例如一個分類或一種功能。一個部件由一組屬性組成。這組屬性分為兩部分一部分是外部可見的部分(或公開部分),稱之為界面,而另一部分是實現(隱私部分),這意味著一個部件僅可依賴于另一部件的界面。一個項目中的所有部件被組織成為一個樹結構,樹的底部為叫做項目部件的根部件。三個主要功能程序是數據庫,編譯程序及建立處理(build mechanism)。數據庫持久地存儲和檢索部件以及其屬性。而編譯程序則在編譯一個屬性的源碼的同時,負責計算與一個部件有關的相關性。建立處理則利用部件的屬性以及編譯程序生成的相關性在建立處理過程中正確有效地對部件的編譯進行排序。建立處理在任何時候都對一個程序有全局的觀察。這與常規方式形成了鮮明對比,在常規方式中,程序由一組相互獨立編譯的文件所表示。在常規編程環境中采用的文件把處理的特定順序施加于文件中包含的語義單元。本專利技術的系統自動記錄部件中的編輯變化,包括記錄變化是在界面中還是在實現中。這與只在文件級上進行記錄的常規系統形成了對比。相關性分析自動進行且基于部件之間的關系。本系統包括一個機制,它允許編譯程序記錄一個相關性存在的事實以及是哪種相關性。這使得建立處理可以更準確地確定哪個部件需要編譯,從而使本系統與對所有存在相關性的部件進行再編譯而無論該再編譯是否需要相比更為有效。常規的編譯程序利用編程環境中的構造工具(Con-struction fool)來使軟件生成。例如,在一般程序構造中,通常是把總的程序分為模塊,模塊一般存在各個文件中,每個模塊可以以不同方式進行處理,一個Make命令用來管理和維護構成計算機程序的模塊;也就是說,Make功能記錄程序的模塊之間的關系,并且只發出需要使模塊在改變之后仍然一致的那些命令。本文檔來自技高網...

    【技術保護點】

    【技術特征摘要】

    【專利技術屬性】
    技術研發人員:彼得·約瑟夫·麥金內爾尼,庫爾提斯·A·拜恩切
    申請(專利權)人:塔里根特公司,
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久久久亚洲精品无码蜜桃| 熟妇人妻无码中文字幕| 18禁无遮拦无码国产在线播放| 亚洲日韩精品A∨片无码加勒比| 无码专区6080yy国产电影| 无码人妻一区二区三区在线 | 无码国内精品久久人妻| 无码永久免费AV网站| 手机永久无码国产AV毛片| 一级毛片中出无码| 人妻丰满熟妇AV无码区免| 日韩人妻无码精品久久免费一 | 国产在线无码一区二区三区视频| 麻豆AV无码精品一区二区| 亚洲精品无码久久久久sm| 久久精品无码一区二区日韩AV | 亚洲国产成人精品无码区在线观看| 无码夫の前で人妻を犯す中字 | 精品无码久久久久国产| 成人免费无码H在线观看不卡 | 精品人妻系列无码人妻免费视频| 色综合久久久无码网中文| 无码AV岛国片在线播放| 亚洲AV无码久久精品成人| 中文字幕无码日韩专区| 中文无码熟妇人妻AV在线| 久久人妻少妇嫩草AV无码蜜桃| 无码人妻H动漫中文字幕| 99热门精品一区二区三区无码| 久久久无码一区二区三区| 免费人妻无码不卡中文字幕系| 无码无遮挡又大又爽又黄的视频| 亚洲精品无码久久久久sm| 亚洲精品中文字幕无码蜜桃 | 日韩乱码人妻无码系列中文字幕| 亚洲精品无码乱码成人| 无码国产福利av私拍| 免费A级毛片无码A∨免费| 无码精品A∨在线观看十八禁 | 亚洲国产精品无码久久久不卡| 日韩精品无码免费专区午夜不卡|