亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于集成優(yōu)化軟件的通用接口系統(tǒng)的制作方法

文檔序號:2225988閱讀:215來源:國知局
專利名稱:用于集成優(yōu)化軟件的通用接口系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于集成優(yōu)化軟件的通用接口系統(tǒng),用于外部程序?qū)蓛?yōu)化軟
件的調(diào)用。
背景技術(shù)
在航天產(chǎn)品研制過程中,涉及多個專業(yè)學(xué)科,往往需要進(jìn)行多專業(yè)耦合設(shè)計才能實現(xiàn)航天產(chǎn)品的總體性能最優(yōu),現(xiàn)在,通用的集成優(yōu)化軟件很多,如iSIGHT, optimus,ModelCenter等,這些軟件提供了復(fù)雜產(chǎn)品進(jìn)行集成優(yōu)化的功能模塊,其目標(biāo)是將原有的各專業(yè)模型通過包裝工具集成到集成優(yōu)化軟件中,通過軟件中的設(shè)計結(jié)構(gòu)矩陣(DSM)功能模塊完成參數(shù)耦合關(guān)系映射及各專業(yè)之間的數(shù)據(jù)傳遞關(guān)系,最后應(yīng)用不同的優(yōu)化算法開展面向多專業(yè)的設(shè)計優(yōu)化工作,從而獲取總體最優(yōu)的技術(shù)方案。 雖然,集成優(yōu)化軟件較多,但這些軟件往往只提供一些算法的接口 ,用戶可以在這些接口的基礎(chǔ)上開發(fā)自己的優(yōu)化算法,豐富軟件的功能。但其它軟件(外部程序)無法實現(xiàn)對這些集成優(yōu)化軟件功能模塊的直接調(diào)用,針對航天產(chǎn)品對集成優(yōu)化軟件的高利用率和需求,迫切需要一種能夠?qū)崿F(xiàn)外部程序或軟件直接調(diào)用集成優(yōu)化軟件的通用接口系統(tǒng),目前,國內(nèi)外未見相關(guān)報道。

發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種用于集成優(yōu)化軟件的通用接口系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)外部軟件對集成優(yōu)化軟件的模塊級功能調(diào)用,在不啟動集成優(yōu)化軟件的基礎(chǔ)上可以開展復(fù)雜產(chǎn)品的研究工作,有利于功能模塊的重用和共享,可以大大提高設(shè)計效率,而且節(jié)約成本。
本發(fā)明的技術(shù)解決方案 用于集成優(yōu)化軟件的通用接口系統(tǒng),所述集成優(yōu)化軟件包括模型管理模塊、裝配建模模塊、集成應(yīng)用程序模塊、設(shè)計結(jié)構(gòu)矩陣模塊及優(yōu)化運算模塊,其特征在于主要包括文
檔接口、裝配接口、計算任務(wù)接口、變量接口及連接接口 文檔接口 文檔接口是頂層接口 ,外部程序通過文檔接口的標(biāo)記信息獲取到文檔接口對象,并通過文檔接口調(diào)用模型管理模塊,而且外部程序通過文檔接口中的函數(shù)實現(xiàn)與其他接口的直接連接,文檔接口通過建立屬性和函數(shù)實現(xiàn),屬性包括文檔名稱、文檔版本、文檔作者和文檔路徑,用于對文檔進(jìn)行說明,函數(shù)包括新建裝配函數(shù)、新建計算任務(wù)函數(shù)、新建變量函數(shù)、新建連接函數(shù)、獲取計算任務(wù)函數(shù)與獲取變量函數(shù),新建裝配函數(shù)、新建計算任務(wù)函數(shù)、新建變量函數(shù)、新建連接函數(shù),分別用于實現(xiàn)與裝配接口 、計算任務(wù)接口 、變量接口及連接接口的直接連接,獲取計算任務(wù)函數(shù)與獲取變量函數(shù)用于實現(xiàn)文檔接口與已有計算任務(wù)和變量的連接; 裝配接口 外部程序通過文檔接口獲取到裝配接口以后,通過裝配接口調(diào)用裝配建模模塊;裝配接口通過建立屬性和函數(shù)實現(xiàn),屬性用于存儲當(dāng)前裝配包含的數(shù)據(jù)信息,包括子裝配集合、計算任務(wù)集合、變量集合,子裝配集合為當(dāng)前裝配包含的所有子裝配的數(shù)據(jù)信息的集合,計算任務(wù)集合為當(dāng)前裝配中包含的所有計算任務(wù)數(shù)據(jù)信息的集合,變量集合為當(dāng)前裝配中包含的所有變量數(shù)據(jù)信息的集合,函數(shù)包括添加裝配函數(shù)、添加變量函數(shù)、刪除裝配變量函數(shù)、裝配重命名函數(shù),添加裝配函數(shù)用于在當(dāng)前裝配中添加新的子裝配,添加變量函數(shù)用于添加當(dāng)前裝配中的變量,刪除裝配變量函數(shù)用于刪除當(dāng)前裝配中的變量,裝配重命名函數(shù)用于給當(dāng)前裝配重命名; 計算任務(wù)接口 外部程序獲取到計算任務(wù)接口以后,通過計算任務(wù)接口調(diào)用集成
應(yīng)用程序模塊;計算任務(wù)接口通過建立屬性和函數(shù)實現(xiàn),屬性包括變量集合、連接集合,變
量集合用于存儲當(dāng)前計算任務(wù)輸入、輸出變量數(shù)據(jù)信息,連接集合用于存儲當(dāng)前計算任務(wù)
中的變量與其它變量的連接關(guān)系,函數(shù)包括運行計算任務(wù)函數(shù)、獲取變量函數(shù)、更改當(dāng)前計
算任務(wù)名稱函數(shù),運行計算任務(wù)函數(shù)用于執(zhí)行當(dāng)前計算任務(wù),獲取變量函數(shù)用于獲取當(dāng)前
計算任務(wù)中的變量,更改當(dāng)前計算任務(wù)名稱函數(shù)用于更改當(dāng)前計算任務(wù)名稱; 變量接口 外部程序獲取到變量接口以后,通過變量接口調(diào)用優(yōu)化運算模塊;變
量接口通過建立屬性和函數(shù)實現(xiàn),屬性包括變量的狀態(tài),用于記錄當(dāng)前變量是否更改過,函
數(shù)包括讀取數(shù)據(jù)函數(shù)、變量名稱函數(shù)、變量類型函數(shù)、輸入變量函數(shù)、變量是否有效函數(shù)、保
存數(shù)據(jù)函數(shù),讀取數(shù)據(jù)函數(shù)用于讀取當(dāng)前變量的信息,變量名稱函數(shù)用于識別變量,變量類
型函數(shù)用于判斷當(dāng)前變量類型,輸入變量函數(shù)用于判斷當(dāng)前變量是否為輸入變量,變量是
否有效函數(shù)用于判斷當(dāng)前變量是否需要重新賦值,保存數(shù)據(jù)函數(shù)用于保存當(dāng)前變量的數(shù)據(jù)
信息; 連接接口 外部程序獲取到連接接口以后,通過連接接口調(diào)用設(shè)計結(jié)構(gòu)矩陣模塊,連接接口通過建立屬性和函數(shù)實現(xiàn),屬性包括左關(guān)系和右關(guān)系,左關(guān)系為一個變量,右關(guān)系為一個表達(dá)式,用于表達(dá)式給變量賦值,建立數(shù)據(jù)傳遞關(guān)系,函數(shù)包括斷開連接函數(shù),用于把當(dāng)前的連接關(guān)系斷開。
本發(fā)明與現(xiàn)有技術(shù)相比具有的有益效果是 (1)本發(fā)明將集成優(yōu)化軟件中的各個功能模塊通過文檔接口、裝配接口、計算任務(wù)接口 、變量接口 、連接接口等通用接口與外部程序連接,外部程序可以通過通用接口實現(xiàn)對集成優(yōu)化軟件的功能控制,可以實現(xiàn)在不啟動集成優(yōu)化軟件的基礎(chǔ)上開展集成優(yōu)化工作,便于將現(xiàn)有的集成優(yōu)化軟件在其它管理系統(tǒng)中進(jìn)行重用,可以方便高效的被其它軟件系統(tǒng)調(diào)用,從而有效解決現(xiàn)有集成優(yōu)化軟件與其它軟件的協(xié)同應(yīng)用問題。 (2)本發(fā)明的通用接口系統(tǒng)能夠?qū)崿F(xiàn)對整個產(chǎn)品集成優(yōu)化過程的有效管理,并可以在此基礎(chǔ)上進(jìn)行靈活的產(chǎn)品定制開發(fā)。該發(fā)明具有靈活性、通用性、實用性及可擴(kuò)展性的特點能滿足未來復(fù)雜產(chǎn)品研制或工程應(yīng)用中的擴(kuò)展需求。 (3)本發(fā)明用于集成優(yōu)化軟件的通用接口系統(tǒng)可采用C++、 Java等面向?qū)ο笳Z言編寫,具有很強(qiáng)的通用性。 (4)通過本發(fā)明的通用接口系統(tǒng)可直接將集成優(yōu)化軟件發(fā)布為通用軟件,易于非專業(yè)開發(fā)人員使用,降低對使用者的要求。 (5)提供了一種基于文檔的層次化的接口設(shè)計模式,可以按照該方法完成其它軟件系統(tǒng)的通用接口設(shè)計,形成具有良好擴(kuò)展性的通用軟件系統(tǒng)。


圖1為本發(fā)明的組成結(jié)構(gòu)框圖; 圖2為本發(fā)明的通用接口層次結(jié)構(gòu)圖; 圖3為本發(fā)明的文檔接口實現(xiàn)圖; 圖4為本發(fā)明的裝配接口實現(xiàn)圖; 圖5為本發(fā)明的裝配接口實現(xiàn)的配置信息圖; 圖6為本發(fā)明的計算任務(wù)接口實現(xiàn)圖; 圖7為本發(fā)明的變量接口實現(xiàn)圖; 圖8為本發(fā)明的連接接口實現(xiàn)圖。
具體實施例方式
目前,集成優(yōu)化軟件很多,如iSIGHT、 optimus、 ModelCenter等商業(yè)軟件,也有用 戶根據(jù)自身需求自行研發(fā)的集成優(yōu)化軟件。 一般情況下,從集成優(yōu)化軟件實現(xiàn)的功能看,其 主要功能是在軟件模型集成的基礎(chǔ)上進(jìn)行設(shè)計方案的優(yōu)化,通常都包含模型管理模塊、裝 配建模模塊、集成應(yīng)用程序模塊、設(shè)計結(jié)構(gòu)矩陣模塊及優(yōu)化運算模塊。 模型管理模塊用于對整個集成優(yōu)化軟件文檔的模型管理,實現(xiàn)文檔的新建、保存 和讀取,在通用接口的文檔接口中需要對集成優(yōu)化軟件中的模型管理模塊功能進(jìn)行調(diào)用, 來實現(xiàn)外部程序通過文檔接口調(diào)用模型管理模塊的功能。 裝配建模模塊將需要進(jìn)行集成優(yōu)化的問題集合,組合成為一個裝配,當(dāng)前裝配由 子裝配、計算任務(wù)、變量中的一種或多種構(gòu)成,子裝配也由下一級子裝配、計算任務(wù)、變量中 的一種或多種構(gòu)成,計算任務(wù)由一個或多個需要進(jìn)行集成優(yōu)化的集成應(yīng)用程序構(gòu)成,變量 可以是一個或多個需要進(jìn)行集成優(yōu)化的變量;集成優(yōu)化軟件中的裝配建模模塊提供新建子 裝配、新建變量、刪除變量以及重命名本裝配的功能,在通用接口的裝配接口中需要調(diào)用集 成優(yōu)化軟件的裝配建模模塊工能,實現(xiàn)外部程序通過文檔接口獲取到裝配接口后調(diào)用裝配 建模模塊的功能。 集成應(yīng)用程序模塊集成應(yīng)用程序模塊包含集成程序、運行程序等功能,集成程序 功能將不同的應(yīng)用程序進(jìn)行封裝集成,并作為一個計算任務(wù)添加到當(dāng)前裝配中,每個計算 任務(wù)可以包含多個輸入、輸出變量,運行程序提供驅(qū)動集成應(yīng)用程序運算的功能。在通用接 口的計算任務(wù)接口中需要調(diào)用集成應(yīng)用程序模塊的功能,實現(xiàn)外部程序通過計算任務(wù)接口 直接相連集成應(yīng)用程序模塊的功能,封裝的應(yīng)用程序如CAD、 CAE、 CAA及自研軟件等常用應(yīng) 用軟件。 設(shè)計結(jié)構(gòu)矩陣模塊設(shè)計結(jié)構(gòu)矩陣模塊包含創(chuàng)建連接、斷開連接等功能,創(chuàng)建連接 功能用于建立不同變量之間的連接關(guān)系,可以將前一個計算任務(wù)的輸入或輸出變量賦值給 后一個計算任務(wù)的輸入,斷開連接功能用于刪除已經(jīng)存在的連接。在通用接口的連接接口 中需要調(diào)用設(shè)計結(jié)構(gòu)矩陣模塊的功能,實現(xiàn)外部程序通過連接接口調(diào)用設(shè)計結(jié)構(gòu)矩陣模塊 的功能。 優(yōu)化運算模塊集成優(yōu)化軟件中的優(yōu)化運算模塊實現(xiàn)在給定的優(yōu)化變量、優(yōu)化約 束及約束目標(biāo)下,自動尋求目標(biāo)最優(yōu)的功能。在通用接口的設(shè)計變量的基礎(chǔ)上,需要增加對 優(yōu)化模塊的調(diào)用,將通用接口中的設(shè)計變量對象作為優(yōu)化模塊的優(yōu)化變量、優(yōu)化約束及優(yōu)化目標(biāo),從而實現(xiàn)外部接口通過對變量接口調(diào)用優(yōu)化運算模塊的功能。優(yōu)化算法模塊是為 了實現(xiàn)工程問題尋優(yōu)而開發(fā)的算法模塊,可以根據(jù)問題的不同開發(fā)相應(yīng)的適用算法,如遺 傳算法、單純行法等。 如圖1所示,本發(fā)明是外部程序調(diào)用集成優(yōu)化軟件使用的一種通用接口系統(tǒng),該 系統(tǒng)是一個層次化的結(jié)構(gòu)構(gòu)成的,其中文檔接口是頂層接口,通過該接口可以獲取其它4 類接口 ;裝配接口可以包含子裝配接口,同時可以包含計算任務(wù)接口、變量接口 ;計算任務(wù) 接口可以包含變量接口及連接接口 ,具體層次關(guān)系如圖2所示。其中,外部程序或軟件是指 需要增加或調(diào)用集成優(yōu)化軟件功能的軟件產(chǎn)品,包含現(xiàn)有的系統(tǒng)級協(xié)同設(shè)計軟件、專業(yè)設(shè) 計分析軟件以及用戶自定義開發(fā)軟件,如工作流管理系統(tǒng)(BPM)等。 下面具體的對本發(fā)明進(jìn)行介紹。以Microsoft Visual C++6. 0為系統(tǒng)開發(fā)平臺、 以COM技術(shù)為接口實現(xiàn)方式。通過基于一個單文檔的標(biāo)準(zhǔn)MFC程序進(jìn)行介紹,其中文檔接 口通過單文檔的文檔類實現(xiàn),裝配、活動、變量及連接關(guān)系為MFC擴(kuò)展類實現(xiàn),具體的實施 步驟如下 通用接口系統(tǒng)的實現(xiàn)如下 (1)建立文檔接口 ,定義文檔接口的標(biāo)記信息,建立文檔接口的函數(shù)及屬性信息。 文檔接口是頂層接口 ,外部程序通過文檔接口的標(biāo)記信息獲取到文檔接口對象,并通過文 檔接口調(diào)用模型管理模塊,而且外部程序通過文檔接口中的函數(shù)實現(xiàn)與其他接口的直接連 接,文檔接口通過建立屬性和函數(shù)實現(xiàn),屬性包括文檔名稱、文檔版本、文檔作者和文檔路 徑,用于對文檔進(jìn)行說明,函數(shù)包括新建裝配函數(shù)、新建計算任務(wù)函數(shù)、新建變量函數(shù)、新建 連接函數(shù)、獲取計算任務(wù)函數(shù)與獲取變量函數(shù),新建裝配函數(shù)、新建計算任務(wù)函數(shù)、新建變 量函數(shù)、新建連接函數(shù),分別用于實現(xiàn)與裝配接口 、計算任務(wù)接口 、變量接口及連接接口的 直接連接,獲取計算任務(wù)函數(shù)與獲取變量函數(shù)用于實現(xiàn)文檔接口與已有計算任務(wù)和變量的 連接,文檔接口的實現(xiàn)方式如圖3所示; 在VC6. 0中建立一個標(biāo)準(zhǔn)的單文檔應(yīng)用程序,例如,程序名稱為"MDO",按照向?qū)?認(rèn)參數(shù)順序執(zhí)行,其中在預(yù)覽的第三步,需要選擇Automation模式。 為了增加文檔接口的標(biāo)記信息,需要在生成的CMD0Doc類的基礎(chǔ)上進(jìn)行修改。具 體步驟為 在MDODoc. h文檔中的"DECLARE_DISPATCH_MAP ()"語句之前增加一行"DECLARE_ OLECREATE (CMD0Doc)"內(nèi)容。 在MDODoc. c卯文檔中的"ENDJNTERFACE—MAP ()"語句的下一行增加"MPLEMENT_ OLECREATE(CMD0Doc, 〃 MD0. calt 〃 ,0x3803a97f,0xca07,0x4460,0xb7,0x9,0xal,0x49, 0xl,0xff,0x99,0xdc)",其中MD0. calt為接口標(biāo)記信息,外部程序可以通過該標(biāo)記信息獲 取接口對象。 程序生成MD0接口,通過MDO接口實現(xiàn)文檔接口功能,建立文檔接口函數(shù)及屬 性,其中接口函數(shù)包括新建裝配、新建活動、新建變量、新建連接、獲取活動以及獲取變量, 屬性包含文檔名稱、文檔版本、文檔作者、文檔路徑,文檔接口的函數(shù)及屬性的IDL文件如 下 [uuid(8BA85E33-1EB1-400E-8F7E-22B558FAECE1)]
dispinterface MD0
{ properties:
〃{{AFX_0DL_PR0P(CMDODoc) [id(l)]BSTR ModelName ; [id(2)]BSTR ModelVersion ; [id(3)]BSTR ModelAuthor ; [id (4) ]BSTR ModelPath ; 〃}} AFX_0DL_PR0P methods: 〃{{AFX_0DL_METH0D(CMDODoc) [id (5) ] IDispatch*CreateAssembly (BSTR謹(jǐn)e, BSTR parent); [id(6)]IDispatch*CreateActivity(BSTR謹(jǐn)e, BSTR parent, BSTR resource); [id(7)]IDispatch*CreateAssemblyVariable(BSTR謹(jǐn)e, BSTR parent, BSTR type); [id(8)]IDispatch氺CreateLink(BSTR曹,BSTR equation); [id(9)]IDispatch*GetActivity(BSTR謹(jǐn)e); [id(10)]VARIANT GetValue(BSTR name); 〃}} AFX_0DL_METH0D }; 文檔名稱屬性為BSTR ModelName,新建文檔時,需要給出文檔名稱,并將該名稱的
數(shù)據(jù)信息存儲到ModelName中,外部程序可以通過ModelName屬性獲取當(dāng)前文檔的名稱。
文檔版本屬性為BSTR ModelVersion,新建文檔時,需要給出文檔的版本信息,并 將該版本信息存儲到ModelVersion中,外部程序可以通過ModelVersion屬性獲取當(dāng)前文 檔的版本號。 文檔作者屬性為BSTR ModelAuthor,新建文檔時,需要給出文檔的創(chuàng)建作者信息, 并將該數(shù)據(jù)信息存儲到ModelAuthor中,外部程序可以通過ModelAuthor屬性獲取當(dāng)前文 檔的創(chuàng)建作者。 文檔路徑屬性為BSTR ModelPath,新建文檔時,需要給出文檔的路徑信息,并將該 數(shù)據(jù)信息存儲到ModelPath中,外部程序可以通過ModelPath屬性獲取當(dāng)前文檔的存儲路 徑。 新建裝配函數(shù)為IDispatch*CreateAssembly (BSTR謹(jǐn)e, BSTRparent),其中name 表示新建裝配的名稱,parent為新建裝配的父裝配名稱,對于頂層裝配,其父裝配名稱為 空,該函數(shù)生成一個裝配類對象,并將該對象作為函數(shù)返回值,外部調(diào)用程序通過這個返回 值可以調(diào)用相應(yīng)的裝配接口函數(shù)及屬性。 新建計算任務(wù)函數(shù)為IDispatch*CreateActivity(BSTR name, BSTRparent, BSTR resource),其中name表示新建任務(wù)的名稱,parent為新建任務(wù)所屬的裝配名稱,resource 為任務(wù)的資源信息標(biāo)識(如程序地址,運行參數(shù)等),該函數(shù)生成一個計算任務(wù)類對象,并將該對象作為函數(shù)返回值,外部程序通過這個返回值可以調(diào)用相應(yīng)的計算任務(wù)接口函數(shù)及 屬性。 新建變量函數(shù)為IDispatch*CreateAssemblyVariable(BSTR謹(jǐn)e,BSTR parent, BSTR type),其中name表示新建的變量名稱,parent為新建變量所屬的裝配名稱,type為 變量的類型,可以為double、 int、 bool、 String等類型,該函數(shù)生成一個變量類對象,并將 該對象作為函數(shù)返回值,外部程序通過這個返回值可以調(diào)用相應(yīng)的變量接口函數(shù)及屬性。
新建連接函數(shù)為IDispatch*CreateLink(BSTR var,BSTR equation),其中var表 示需要連接的變量名稱,equation為給var變量賦值的表達(dá)式,該函數(shù)生成一個連接類對 象,并將該對象作為函數(shù)返回值,外部程序通過這個返回值可以調(diào)用相應(yīng)的連接接口函數(shù) 及屬性。 獲取計算任務(wù)函數(shù)為IDispatch*GetActivity(BSTR name),其中name表示需要 獲取的計算任務(wù)名稱,該函數(shù)搜索當(dāng)前所有的計算任務(wù),并將名稱為name的計算任務(wù)對象 作為函數(shù)返回值,外部程序通過這個返回值可以調(diào)用相應(yīng)的計算任務(wù)接口函數(shù)及屬性。 [OO73] 獲取變量函數(shù)為VARIANT GetValue (BSTR name),其中name為所需獲取的變量名 稱,該函數(shù)搜索當(dāng)前所有的計算任務(wù),并將名稱為name的變量對象作為函數(shù)返回值,外部 程序通過這個返回值可以調(diào)用相應(yīng)的變量接口函數(shù)及屬性。 在MDODoc. c卯文件中實現(xiàn)上述函數(shù)及屬性的功能,從而完成文檔接口的建立及 功能實現(xiàn)。 通過文檔接口調(diào)用模型管理模塊,其實現(xiàn)方式為在文檔接口實現(xiàn)函數(shù)中,調(diào)用模 型管理模塊的功能函數(shù),包含新建、保存及讀取等模型管理模塊功能函數(shù),從而通過文檔接 口可以實現(xiàn)對模型管理模塊功能的調(diào)用,實現(xiàn)對基于XML標(biāo)準(zhǔn)的模型文檔的新建、保存及 讀取。
(2)建立裝配接口 ,外部程序通過文檔接口獲取到裝配接口以后,通過裝配接口調(diào)
用裝配建模模塊;裝配接口通過建立屬性和函數(shù)實現(xiàn),屬性用于存儲當(dāng)前裝配包含的數(shù)據(jù)
信息,包括子裝配集合、計算任務(wù)集合、變量集合,子裝配集合為當(dāng)前裝配包含的所有子裝
配的數(shù)據(jù)信息的集合,計算任務(wù)集合為當(dāng)前裝配中包含的所有計算任務(wù)數(shù)據(jù)信息的集合,
變量集合為當(dāng)前裝配中包含的所有變量數(shù)據(jù)信息的集合,函數(shù)包括添加裝配函數(shù)、添加變
量函數(shù)、刪除裝配變量函數(shù)、裝配重命名函數(shù),添加裝配函數(shù)用于在當(dāng)前裝配中添加新的子
裝配,添加變量函數(shù)用于添加當(dāng)前裝配中的變量,刪除裝配變量函數(shù)用于刪除當(dāng)前裝配中
的變量,裝配重命名函數(shù)用于給當(dāng)前裝配重命名。裝配接口的實現(xiàn)如圖4所示 在MDO工程中,增加裝配(Assembly)類,其配置信息如圖5所示,選取基類為
CCmdTarget,選取Automation類型。通過該新建類,生成IAssembly接口及Assembly類。 通過IAssembly接口定義裝配接口功能,包含接口函數(shù)及屬性信息,裝配接口的
函數(shù)及屬性實現(xiàn)的IDL文件如下 [皿id (D54D4C3D-0597-4B4A-B33F-CF07A9C0EEC4)]
dispinterface IAssembly
{
[id(l)]VARIANT Assemblies ; [id(2)]VARIANT Activities ; [id(3)]VARIANT Variables ; 〃}} AFX_0DL_PR0P methods: 〃{{AFX_0DL_METH0D(Assembly) [id(4)]IDispatch*AddAssembly(BSTR name); [id(5)]IDispatch*AddVariable(BSTR謹(jǐn)e, BSTR type); [id(6)]void DeleteVariable(BSTR name); [id (7)] void rename (BSTR name); 〃}} AFX—0DL—METH0D }; 子裝配集合屬性為VARIANT Assemblies,其中Assemblies為一個數(shù)組變量,新建
一個裝配時,在本裝配的Assemblies中增加新的裝配對象,通過Assemblies可以獲取當(dāng)前
裝配的所有子裝配對象,通過子裝配對象可以調(diào)用裝配接口的屬性及函數(shù)。 計算任務(wù)集合屬性為VARIANT Activities,其中Activities為一個數(shù)組變量,新
建一個計算任務(wù)時,在本裝配的Activities中增加新的計算任務(wù)對象,通過Activities可
以獲取當(dāng)前裝配的所有計算任務(wù)對象,通過計算任務(wù)對象可以調(diào)用計算任務(wù)接口的屬性及函數(shù)。 變量集合屬性為VARIANT Variables,其中Variables為一個數(shù)組變量,新建一個 變量時,在本裝配的Variables中增加新的變量對象,通過Variables可以獲取當(dāng)前裝配的 所有變量對象,通過變量對象可以調(diào)用變量接口的屬性及函數(shù)。 添加裝配函數(shù)為IDispatch*AddAssembly (BSTR name),其中name為要添加的新 裝配名稱,該函數(shù)創(chuàng)建一個新的裝配對象,并將創(chuàng)建的對象存儲到Assemblies屬性中,同 時,將新建的裝配對象作為函數(shù)返回值,外部程序通過這個返回值可以調(diào)用新建裝配的接 口函數(shù)及屬性。 添力口變量函數(shù)為IDispatch*AddVariable(BSTR謹(jǐn)e, BSTR type),其中謹(jǐn)e表 示新建的變量名稱,type為變量的類型,可以為double、int、boQl、 String等類型,該函數(shù) 生成一個變量類對象,并將該對象存儲到Variables屬性中,同時,將新建的變量對象作為 函數(shù)返回值,外部程序通過這個返回值可以調(diào)用相應(yīng)的變量接口函數(shù)及屬性。
刪除裝配變量函數(shù)為void DeleteVariable (BSTR name),其中name表示需要刪除 的變量名稱,該函數(shù)將在本裝配的Variables屬性中進(jìn)行搜索,如果查到要刪除的變量名 稱,則從Variables屬性中去掉該變量對象。 裝配重命名函數(shù)為void rename (BSTR name),其中name本裝配的新名稱,該函數(shù) 將對本裝配的名稱進(jìn)行修改,用name的數(shù)據(jù)替換已有的裝配名稱。 在Assembly, c卯文件中實現(xiàn)上述函數(shù)及屬性的功能,從而完成對裝配接口的設(shè) 計。 通過裝配接口調(diào)用裝配建模模塊,其實現(xiàn)方式為裝配建模模塊的功能包含新建 裝配、新建變量、刪除變量及重命名等,與裝配接口的4個函數(shù)對應(yīng),通過在裝配接口函數(shù)中直接調(diào)用集成優(yōu)化軟件中的裝配建模功能函數(shù),實現(xiàn)通過裝配接口函數(shù)調(diào)用裝配建模模 塊的功能。 (3)建立計算任務(wù)接口 。外部程序獲取到計算任務(wù)接口以后,通過計算任務(wù)接口調(diào) 用集成應(yīng)用程序模塊;計算任務(wù)接口通過建立屬性和函數(shù)實現(xiàn),屬性包括變量集合、連接集 合,變量集合用于存儲當(dāng)前計算任務(wù)輸入、輸出變量數(shù)據(jù)信息,連接集合用于存儲當(dāng)前計算 任務(wù)中的變量與其它變量之間的數(shù)據(jù)關(guān)系,函數(shù)包括運行計算任務(wù)函數(shù)、獲取變量函數(shù)、更 改當(dāng)前計算任務(wù)名稱函數(shù),運行計算任務(wù)函數(shù)用于執(zhí)行當(dāng)前計算任務(wù),獲取變量函數(shù)用于 獲取當(dāng)前計算任務(wù)中的變量,更改當(dāng)前計算任務(wù)名稱函數(shù)用于更改當(dāng)前計算任務(wù)名稱。計 算任務(wù)接口的實現(xiàn)如圖6所示 在MD0工程中,增加計算任務(wù)Activity類,選取基類為CCmdTarget,選取 Automation類型。通過該新建類,生成IActivity接口及Activity類。
通過IActivity接口定義計算任務(wù)接口功能,包含接口函數(shù)及屬性信息,計算任 務(wù)接口的函數(shù)及屬性實現(xiàn)IDL文件如下
[uuid(F00F6950-lD3A-41A5-A85B-A58B5BlEFC96)]
dispinterface IActivity
{











}; 變量集合屬性為VARIANT Variables,其中Variables為一個數(shù)組變量,新建一個 變量時,在本計算任務(wù)的Variables中增加新的變量對象,通過Variables可以獲取當(dāng)前計 算任務(wù)的所有變量對象,通過變量對象可以調(diào)用變量接口的屬性及函數(shù)。
連接集合屬性為VARIANT Links,其中Links為一個數(shù)組變量,新建一個連接時, 在本計算任務(wù)的Links中增加新的連接對象,通過Links可以獲取當(dāng)前計算任務(wù)的所有連 接對象,通過連接對象可以調(diào)用連接接口的屬性及函數(shù)。 運行計算任務(wù)函數(shù)為void R皿(),該函數(shù)實現(xiàn)計算任務(wù)的運算,該計算任務(wù)可以 是商業(yè)軟件、自研軟件或腳本程序等,在R皿函數(shù)的實現(xiàn)過程中,需要根據(jù)上述三類程序進(jìn) 行開發(fā)設(shè)計,實現(xiàn)程序的自動運行。 獲取變量函數(shù)為IDispatch*GetVariable(BSTR name),其中name為變量的名稱, 該函數(shù)將在本計算任務(wù)的Variables屬性中進(jìn)行搜索,如果查到變量名稱,則從Variables
properties:
〃{{AFX—0DL—PR0P(Activity) [id(l)]VARIANT Variables; [id (2)]VARIANT Links ; 〃}}AFX_0DL_PR0P methods:
〃{{AFX—0DL—METH0D (Activity) [id (3)] void Run(); IDispatch承GetVariable (BSTR謹(jǐn)e) [id (5)]void rename(BSTR name); 〃}}AFX_0DL_METH0D屬性獲取該變量對象,并將變量對象作為函數(shù)返回值,外部程序通過這個返回值可以調(diào)用 相應(yīng)的變量接口函數(shù)及屬性。 更改當(dāng)前計算任務(wù)名稱函數(shù)為void rename(BSTR name),其中name本計算任務(wù)的 新名稱,該函數(shù)將對本計算任務(wù)的名稱進(jìn)行修改,用name的數(shù)據(jù)替換已有的裝配名稱。
在Activity, c卯文件中實現(xiàn)上述函數(shù)及屬性的功能,從而完成對計算任務(wù)接口 的設(shè)計。 通過文檔接口的獲取計算任務(wù)、新建計算任務(wù)兩個接口函數(shù)以及裝配接口的活動
集合屬性,可以獲取計算任務(wù)接口對象,從而實現(xiàn)對計算任務(wù)的函數(shù)及屬性的調(diào)用。 在文檔接口的新建計算任務(wù)函數(shù)中,增加對集成優(yōu)化軟件中集成應(yīng)用程序模塊中
的集成程序功能的調(diào)用,從而實現(xiàn)對各種軟件的集成功能,將該計算任務(wù)所包含的輸入/
輸出變量存儲到當(dāng)前計算任務(wù)的Variables屬性中。 在計算任務(wù)接口的運行任務(wù)函數(shù)中,增加對集成應(yīng)用程序模塊中的運行程序的功 能調(diào)用,從而實現(xiàn)通過計算任務(wù)接口調(diào)用集成應(yīng)用程序運行的功能。 (4)建立變量接口 。外部程序獲取到變量接口以后,通過變量接口調(diào)用優(yōu)化運算模 塊;變量接口通過建立屬性和函數(shù)實現(xiàn),屬性包括變量的狀態(tài),用于記錄當(dāng)前變量是否更改 過,函數(shù)包括讀取數(shù)據(jù)函數(shù)、變量名稱函數(shù)、變量類型函數(shù)、輸入變量函數(shù)、變量是否有效函 數(shù)、保存數(shù)據(jù)函數(shù),讀取數(shù)據(jù)函數(shù)用于讀取當(dāng)前變量的信息,變量名稱函數(shù)用于識別變量, 變量類型函數(shù)用于判斷當(dāng)前變量類型,輸入變量函數(shù)用于判斷當(dāng)前變量是否為輸入變量, 變量是否有效函數(shù)用于判斷當(dāng)前變量是否需要重新賦值,保存數(shù)據(jù)函數(shù)用于保存當(dāng)前變量 的數(shù)據(jù)信息。變量接口的實現(xiàn)如圖7所示。 在MD0工程中,增加Variable類,選取基類為CCmdTarget,選取Automation類型。 通過該新建類,生成IVariable接口及Variable類。 通過IVariable接口定義變量接口功能,包含接口函數(shù)及屬性信息,變量接口的 函數(shù)及屬性實現(xiàn)IDL文件如下 [皿id(F0172779-E02B-4931-AFD4-53C95F427BFF)]
dispinterface IVariable
{
:0138] :0139] :0140] :0141] :0142] :0143] :0144] :0145] :0146] :0147] :0148] :0149]void fromString(BSTR value);BSTR getFullName (); [id (4)] BSTR getType ();boolean isl即ut(); [id(6) ]boolean isValid(); [id (7)]BSTR toString();
11

}}AFX_0DL_METH0D 變量狀態(tài)屬性為boolean hasChanged,當(dāng)變量數(shù)據(jù)改變時,該參數(shù)為真,否則為 假。 讀取數(shù)據(jù)函數(shù)為void fromString(BSTR value),其中value為該變量的數(shù)值,外 部程序可以調(diào)用該函數(shù)為本變量賦值。 變量名稱函數(shù)為BSTR getFullName(),該函數(shù)將返回本變量的名稱。 變量類型函數(shù)為BSTR getType(),該函數(shù)用于獲取變量的數(shù)據(jù)類型,可以為
double、int、bo01、 String等類型,外部程序通過該函數(shù)獲取變量的類型。 輸入變量函數(shù)為boolean islnput (),對于屬于計算任務(wù)的變量,該函數(shù)判斷當(dāng)前
變量是輸入變量或輸出變量,如果是輸入變量則返回真,否則返回假。 變量是否有效函數(shù)為boolean isValid(),對于屬于計算任務(wù)的變量,該函數(shù)可以 判斷變量是否有效,當(dāng)計算任務(wù)運行后,當(dāng)前變量已經(jīng)更新則該函數(shù)返回真,否則返回假。
保存數(shù)據(jù)函數(shù)為BSTR toString(),該函數(shù)獲取變量數(shù)值,并將數(shù)值作為函數(shù)返回 值,外部程序通過該函數(shù)可以獲取變量數(shù)值。 在Variable, c卯文件中實現(xiàn)上述函數(shù)及屬性的功能,從而完成對變量接口的建 立及功能實現(xiàn)。 外部程序通過文檔接口的新建變量、獲取變量函數(shù),裝配接口的添加變量函數(shù)、變 量集合屬性,計算任務(wù)接口的獲取變量函數(shù)、變量集合屬性,能夠獲取變量接口 ,通過變量 接口可以調(diào)用變量接口的函數(shù)及屬性。 在集成優(yōu)化軟件中,包含優(yōu)化運算模塊,在變量接口的基礎(chǔ)上,需要對集成優(yōu)化軟 件中的優(yōu)化運算模塊進(jìn)行功能調(diào)用,具體實現(xiàn)方式為通過變量接口將系統(tǒng)中的變量作為 優(yōu)化問題的優(yōu)化變量、優(yōu)化約束及優(yōu)化目標(biāo),開展優(yōu)化計算,當(dāng)滿足優(yōu)化運算的收斂條件 時,完成優(yōu)化運算,否則通過變量接口獲取新的變量數(shù)值,進(jìn)行下一輪優(yōu)化,直到滿足收斂 條件。 (5)建立連接接口。外部程序獲取到連接接口以后,通過連接接口調(diào)用設(shè)計結(jié)構(gòu) 矩陣模塊,連接接口通過建立屬性和函數(shù)實現(xiàn),屬性包括左關(guān)系和右關(guān)系,左關(guān)系為一個變 量,右關(guān)系為一個表達(dá)式,用于表達(dá)式給變量賦值,建立數(shù)據(jù)傳遞關(guān)系,函數(shù)包括斷開連接 函數(shù),用于把當(dāng)前的連接關(guān)系斷開。連接關(guān)系接口的實現(xiàn)如圖8所示。
在MD0工程中,增加Link類,選取基類為CCmdTarget,選Automation類型。通過 該新建類,生成ILink接口及Link類。 通過ILink接口定義連接關(guān)系接口功能,包含接口函數(shù)及屬性信息,連接關(guān)系接 口的函數(shù)及屬性實現(xiàn)IDL文件如下 [uuid(33ElFB77-3A92-498B-94EB-719821AD5C49)]
dispinterface ILink
{

BSTR LeftString ;
[id (2) ] BSTR RightString ; 〃}}AFX_0DL_PR0P
methods: 〃{{AFX—0DL—METH0D(Link) [id (3)] void breakLink(); 〃}} AFX—ODL—METHOD }; 連接接口左關(guān)系屬性為BSTR LeftString,該屬性為一個變量的字符串?dāng)?shù)值,該變 量為需要賦值的變量。 連接接口右關(guān)系屬性為BSTR RightString,該屬性為一個表達(dá)式,該表達(dá)式中可 以包含變量及一些數(shù)據(jù)運算,該表達(dá)式用于對左關(guān)系的賦值。 連接接口的斷開連接函數(shù)為void breakLink (),該函數(shù)先通過左關(guān)系獲取變量名 稱,讓后獲取變量所屬的計算任務(wù),然后刪除這個計算任務(wù)中的左關(guān)系為當(dāng)前變量名稱的 連接對象。 在Link, c卯文件中實現(xiàn)上述函數(shù)及屬性的功能,從而完成對連接接口的設(shè)計。
外部程序通過文檔接口中的新建連接函數(shù)以及計算任務(wù)接口中的連接集合屬性 可以獲取連接接口對象,從而調(diào)用連接接口的函數(shù)及屬性。 集成優(yōu)化軟件中的設(shè)計結(jié)構(gòu)矩陣模塊主要包含新建連接、斷開連接等功能。
新建連接的接口調(diào)用實現(xiàn)方式為在文檔接口的新建連接函數(shù)中調(diào)用設(shè)計結(jié)構(gòu)矩 陣模塊中的新建連接功能,實現(xiàn)通過文檔接口的新建連接函數(shù)可以實現(xiàn)設(shè)計結(jié)構(gòu)矩陣的新 建連接功能。同時,在文檔接口的新建連接函數(shù)實現(xiàn)中,需要將生成的連接對象存儲到連接 變量所屬的計算任務(wù)中的連接集合中。 斷開連接的接口調(diào)用實現(xiàn)方式為由計算任務(wù)中的連接集合中選出左關(guān)系為需要 斷開的變量,將該連接對象從連接集合中刪除。 下面以某產(chǎn)品結(jié)構(gòu)設(shè)計為例,說明該通用接口的使用過程,該結(jié)構(gòu)為長方體,在滿 足強(qiáng)度的基礎(chǔ)上需要進(jìn)行結(jié)構(gòu)減重優(yōu)化設(shè)計,具體實施方案如下 (1)建立文檔,通過文檔接口對文檔屬性進(jìn)行賦值,其中文檔名稱為"結(jié)構(gòu)設(shè)計"、 文檔版本為"1.0"、文檔作者為"lis"、文檔路徑為"E:V',該接口將調(diào)用集成優(yōu)化軟件模型 管理模塊中的新建功能,將文檔屬性信息寫到集成優(yōu)化軟件中。 (2)創(chuàng)建裝配,該產(chǎn)品包含l個結(jié)構(gòu)設(shè)計裝配,通過文檔接口的新建裝配函數(shù) CreateAssembly(BSTR name, BSTR parent)建立裝配,其中裝配名稱為"Model",父裝配 parent為空,表示建立頂層裝配。在集成優(yōu)化軟件中將調(diào)用裝配建模模塊的新建裝配功能, 實現(xiàn)在集成優(yōu)化軟件中增加一個新的裝配。經(jīng)過該步驟后,通用接口系統(tǒng)形成了一個用于 結(jié)構(gòu)設(shè)計的裝配對象。 (3)創(chuàng)建計算任務(wù),該產(chǎn)品的結(jié)構(gòu)設(shè)計包含3個計算任務(wù),分別為總體計算任務(wù) (System)、質(zhì)量計算任務(wù)(mass)、強(qiáng)度分析計算任務(wù)(stress),通過文檔接口的新建計算 任務(wù)函數(shù)在"Model"裝配的基礎(chǔ)上新建上述3個計算任務(wù),新建計算任務(wù)函數(shù)會調(diào)用集成 優(yōu)化軟件的集成應(yīng)用程序模塊中的集成程序功能,實現(xiàn)對計算任務(wù)的集成,三個計算任務(wù) 的名稱分別為"Model. System"、 "Model, mass"、 "Model, stress"。經(jīng)過該步驟,在結(jié)構(gòu)設(shè)計裝配(Model)中的Activities屬性集合中存儲上述三個計算任務(wù)對象。
(4)創(chuàng)建變量,該產(chǎn)品的結(jié)構(gòu)設(shè)計共包含11個變量,其中總體包含3個變量,分 別為長(length)、寬(width)、高(height),調(diào)用文檔接口的創(chuàng)建裝配變量函數(shù),其中函數(shù) 的name參數(shù)賦值為3個變量的名稱,函數(shù)的parent參數(shù)賦值為"Model. System",函數(shù)的 type參數(shù)賦值為"double"。經(jīng)過上述函數(shù)調(diào)用后,在"Model. System"計算活動的變量集 合屬性中包含上述3個變量對象,其中長度變量名稱為"Model. System, length",寬度變量 為名稱"Model. System, width",高度變量名稱為"Model. System, height",創(chuàng)建裝配變量函 數(shù)需要調(diào)用集成優(yōu)化軟件的集成應(yīng)用程序模塊中的集成程序功能,實現(xiàn)對程序輸入、輸出 變量的集成。同樣質(zhì)量計算包含4個變量,長(length)、寬(width)、高(height)以及質(zhì)量 (mass),強(qiáng)度計算包含4個變量長(length)、寬(width)、高(height)以及應(yīng)力(stress), 按照總體計算任務(wù)中變量相同的方式創(chuàng)建變量。 (5)創(chuàng)建連接,共需要創(chuàng)建6個連接對象,對于質(zhì)量計算任務(wù)中的長(length)、 寬(width)、高(height)等3個變量,需要與總體計算中的長(length)、寬(width)、高 (height) 3個變量建立連接關(guān)系,通過文檔接口中的創(chuàng)建連接函數(shù),完成上述三個連接的創(chuàng) 建,其中var為質(zhì)量計算中三個變量的名稱,equation為總體計算中三個變量的名稱,經(jīng)過 創(chuàng)建后,在質(zhì)量計算任務(wù)中的連接集合中,增加上述三個連接對象。創(chuàng)建連接函數(shù)需要調(diào)用 集成優(yōu)化軟件中的設(shè)計結(jié)構(gòu)矩陣模塊中的新建連接功能,實現(xiàn)在集成優(yōu)化軟件中增加新的 連接。同理,在強(qiáng)度計算任務(wù)中,也需要與總體計算的3個變量建立連接關(guān)系。
(6)創(chuàng)建優(yōu)化問題,其中設(shè)計變量為總體計算任務(wù)的的三個變量長(length)、寬 (width)、高(height),約束變量為強(qiáng)度計算任務(wù)的應(yīng)力(stress)變量,優(yōu)化目標(biāo)為質(zhì)量計 算任務(wù)的質(zhì)量(mass)變量。在集成優(yōu)化軟件的優(yōu)化運算模塊中,給出上述優(yōu)化問題參數(shù), 通過外部程序調(diào)用優(yōu)化計算,當(dāng)需要變量數(shù)據(jù)時,先調(diào)用計算任務(wù)的運行函數(shù),獲取新的變 量數(shù)值,當(dāng)數(shù)值滿足收斂條件時,完成迭代,否則繼續(xù)更新變量數(shù)值,進(jìn)行任務(wù)計算。
本發(fā)明未詳細(xì)說明部分屬本領(lǐng)域技術(shù)人員公知常識。
權(quán)利要求
用于集成優(yōu)化軟件的通用接口系統(tǒng),所述集成優(yōu)化軟件包括模型管理模塊、裝配建模模塊、集成應(yīng)用程序模塊、設(shè)計結(jié)構(gòu)矩陣模塊及優(yōu)化運算模塊,其特征在于主要包括文檔接口、裝配接口、計算任務(wù)接口、變量接口及連接接口文檔接口文檔接口是頂層接口,外部程序通過文檔接口的標(biāo)記信息獲取到文檔接口對象,并通過文檔接口調(diào)用模型管理模塊,而且外部程序通過文檔接口中的函數(shù)實現(xiàn)與其他接口的直接連接,文檔接口通過建立屬性和函數(shù)實現(xiàn),屬性包括文檔名稱、文檔版本、文檔作者和文檔路徑,用于對文檔進(jìn)行說明,函數(shù)包括新建裝配函數(shù)、新建計算任務(wù)函數(shù)、新建變量函數(shù)、新建連接函數(shù)、獲取計算任務(wù)函數(shù)與獲取變量函數(shù),新建裝配函數(shù)、新建計算任務(wù)函數(shù)、新建變量函數(shù)、新建連接函數(shù),分別用于實現(xiàn)與裝配接口、計算任務(wù)接口、變量接口及連接接口的直接連接,獲取計算任務(wù)函數(shù)與獲取變量函數(shù)用于實現(xiàn)文檔接口與已有計算任務(wù)和變量的連接;裝配接口外部程序通過文檔接口獲取到裝配接口以后,通過裝配接口調(diào)用裝配建模模塊;裝配接口通過建立屬性和函數(shù)實現(xiàn),屬性用于存儲當(dāng)前裝配包含的數(shù)據(jù)信息,包括子裝配集合、計算任務(wù)集合、變量集合,子裝配集合為當(dāng)前裝配包含的所有子裝配的數(shù)據(jù)信息的集合,計算任務(wù)集合為當(dāng)前裝配中包含的所有計算任務(wù)數(shù)據(jù)信息的集合,變量集合為當(dāng)前裝配中包含的所有變量數(shù)據(jù)信息的集合,函數(shù)包括添加裝配函數(shù)、添加變量函數(shù)、刪除裝配變量函數(shù)、裝配重命名函數(shù),添加裝配函數(shù)用于在當(dāng)前裝配中添加新的子裝配,添加變量函數(shù)用于添加當(dāng)前裝配中的變量,刪除裝配變量函數(shù)用于刪除當(dāng)前裝配中的變量,裝配重命名函數(shù)用于給當(dāng)前裝配重命名;計算任務(wù)接口外部程序獲取到計算任務(wù)接口以后,通過計算任務(wù)接口調(diào)用集成應(yīng)用程序模塊;計算任務(wù)接口通過建立屬性和函數(shù)實現(xiàn),屬性包括變量集合、連接集合,變量集合用于存儲當(dāng)前計算任務(wù)輸入、輸出變量數(shù)據(jù)信息,連接集合用于存儲當(dāng)前計算任務(wù)中的變量與其它變量的連接關(guān)系,函數(shù)包括運行計算任務(wù)函數(shù)、獲取變量函數(shù)、更改當(dāng)前計算任務(wù)名稱函數(shù),運行計算任務(wù)函數(shù)用于執(zhí)行當(dāng)前計算任務(wù),獲取變量函數(shù)用于獲取當(dāng)前計算任務(wù)中的變量,更改當(dāng)前計算任務(wù)名稱函數(shù)用于更改當(dāng)前計算任務(wù)名稱;變量接口外部程序獲取到變量接口以后,通過變量接口調(diào)用優(yōu)化運算模塊;變量接口通過建立屬性和函數(shù)實現(xiàn),屬性包括變量的狀態(tài),用于記錄當(dāng)前變量是否更改過,函數(shù)包括讀取數(shù)據(jù)函數(shù)、變量名稱函數(shù)、變量類型函數(shù)、輸入變量函數(shù)、變量是否有效函數(shù)、保存數(shù)據(jù)函數(shù),讀取數(shù)據(jù)函數(shù)用于讀取當(dāng)前變量的信息,變量名稱函數(shù)用于識別變量,變量類型函數(shù)用于判斷當(dāng)前變量類型,輸入變量函數(shù)用于判斷當(dāng)前變量是否為輸入變量,變量是否有效函數(shù)用于判斷當(dāng)前變量是否需要重新賦值,保存數(shù)據(jù)函數(shù)用于保存當(dāng)前變量的數(shù)據(jù)信息;連接接口外部程序獲取到連接接口以后,通過連接接口調(diào)用設(shè)計結(jié)構(gòu)矩陣模塊,連接接口通過建立屬性和函數(shù)實現(xiàn),屬性包括左關(guān)系和右關(guān)系,左關(guān)系為一個變量,右關(guān)系為一個表達(dá)式,用于表達(dá)式給變量賦值,建立數(shù)據(jù)傳遞關(guān)系,函數(shù)包括斷開連接函數(shù),用于把當(dāng)前的連接關(guān)系斷開。
全文摘要
用于集成優(yōu)化軟件的通用接口系統(tǒng),包含通用接口及軟件功能模塊兩部分內(nèi)容。其中通用接口是集成優(yōu)化軟件功能模塊與外部程序連接的橋梁,通過通用接口的調(diào)用可以實現(xiàn)軟件功能模塊的功能,通用接口包含文檔接口、裝配接口、計算任務(wù)接口、變量接口及連接接口等5類接口;軟件功能模塊包含模型管理模塊、裝配建模模塊、集成應(yīng)用程序模塊、設(shè)計結(jié)構(gòu)矩陣模塊及優(yōu)化運算模塊等5個功能模塊。該方法能夠解決復(fù)雜產(chǎn)品集成優(yōu)化軟件的通用接口設(shè)計問題,為復(fù)雜產(chǎn)品集成優(yōu)化軟件的通用接口設(shè)計提供了技術(shù)支撐。
文檔編號G06F9/44GK101739256SQ20091024328
公開日2010年6月16日 申請日期2009年12月30日 優(yōu)先權(quán)日2009年12月30日
發(fā)明者冷傳航, 張冶, 施國強(qiáng), 李爍, 沈重, 趙雯, 鄭宏濤 申請人:中國運載火箭技術(shù)研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1